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 6The -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' *.podYou can load a module with -M:
% perl6 -MMath::Constants -e 'put α'
0.0072973525664Declarator 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 ...