Perl6::Overview::Magic - Magical Variables
$+ # currently compiling scope (see S02) $? # lexically-scoped (compile time, see S02) $* # global (run time, see S02) $= # file-scoped (see S02) $^ # implicit block argument (see S06 placeholder variables) $< # current $/ scope (see S02) $. # public attribute (see S12 attributes) $! # private attribute (see S12 attributes)
$/ # match object from last rule $0 # first captured value from match: $/.[0] @*ARGS # command-line arguments &?BLOCK # current block (itself, see S06) @?BLOCK # current blocks (themselves, see S06) $?BLOCKLABEL # label of current block (see S06) # XXX redundant with $?LABEL? ::?CLASS # current class (as package name) $?CLASS # current class (as variable) @?CLASS # current classes %?CONFIG # configuration hash $=DATA # data block handle (=begin DATA ... =end) $*EGID # effective group id %*ENV # system environment $*ERR # standard error handle $*EUID # effective user id $*EXECUTABLE_NAME # executable name $?FILE # current file $?GRAMMAR # current grammar @?GRAMMAR # current grammars $*GID # group id $*IN # standard input handle $?LABEL # label of current block @?LABEL # labels of current blocks $?LINE # current line $?MODULE # current module @?MODULE # current modules $?OS # operating system compiled for $*OS # operating system running under $?OSVER # operating system version compiled for $*OSVER # operating system version running under $*OUT # standard output handle $?PACKAGE # current package (as object) @?PACKAGE # current packages $?PACKAGENAME # name of current package (see S10) $?PERLVER # perl version compiled for $*PERLVER # perl version running under $*PROGRAM_NAME # name of the program being executed $*PID # system process id $?PUGS_VERSION # Pugs version (not canonical) $*PUGS_HAS_HSPLUGINS # True if Pugs was compiled with support for hsplugins # (not canonical) ::?ROLE # current role (as package name) $?ROLE # current role (as variable) @?ROLE # current roles &?ROUTINE # current sub or method (itself, see S06) @?ROUTINE # current subs or methods (themselves) $*UID # system user id
There were threads on p6l about unifying all variables which concern the OS or the VM ($*UID, $*PROGRAM_NAME, etc.) into two variables, $?ENV (compile-time environment) and $*ENV (runtime environment). Larry did like the idea, but "ENV" is probably to overloaded to mean the hash of environment variables (which would be found under $*ENV.environment or some-such).
To install Perl6::Doc, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Perl6::Doc
CPAN shell
perl -MCPAN -e shell install Perl6::Doc
For more information on module installation, please visit the detailed CPAN module installation guide.