Chapter 20. Advanced Topics
In such a short book I don’t have enough pages to show you everything that you can do. This chapter is a brief survey of some of the features I would have liked to explain in more detail. You now know these exist and you can investigate them further on your own.
One-Liners
You can run perl6 one-liners. These are programs that you compose completely on the command
line. The -e
switch takes an argument that is the program:
% perl6 -e 'put "Hello Perl 6"'
Hello Perl 6
The -n
switch runs the program once for each line of input. The current
line is in $_
. This one uppercases and
outputs the line:
% perl6 -n -e '.uc.put' *.pod
You can load a module with -M
:
% perl6 -MMath::Constants -e 'put α'
0.0072973525664
Declarator Block Comments
The parser doesn’t discard all comments. It remembers special comments and attaches them to
the subroutine. #|
comments attach
themselves to the subroutine after them and #=
comments attach themselves to the subroutine
before them. These comments are available through the .WHY
meta-method:
#| Hamadryas is a sort of butterfly class Hamadryas { #| Flap makes the butterfly go method flap () { } } Hamadryas.WHY.put; Hamadryas.^find_method('flap').WHY.put;
The output is the combination of all the comments attached to that subroutine:
Hamadryas is a sort of butterfly Flap makes the butterfly go
This is the sort of thing that’s handy in an integrated development environment to grab a description of the thing you are trying to use. It’s also useful ...
Get Learning Perl 6 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.