Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
62 lines (41 sloc) 2 KB


perl6 - Rakudo Perl 6 Compiler


 perl6 [switches] [--] [programfile] [arguments]


With no arguments, enters a REPL. With a [programfile] or the -e option, compiles the given program and by default also executes the compiled code.

  -c                   check syntax only (runs BEGIN and CHECK blocks)
  --doc                extract documentation and print it as text
  -e program           one line of program
  -h, --help           display this help text
  -n                   run program once for each line of input
  -p                   same as -n, but also print $_ at the end of lines
  --target=[stage]     specify compilation stage to emit
  -t, --trace=[flags]  enable trace flags, see 'parrot --help-debug'
  --encoding=[mode]    specify string encoding mode
  -o, --output=[name]  specify name of output file
  -v, --version        display version information
  --stagestats         display time spent in the compilation stages
  --ll-exception       display a low level backtrace on errors
  --profile            print profile information to standard error

Note that only boolean single-letter options may be bundled

Output from --profile can be visualized by kcachegrind.

Supported stages for --target are:

 parse past post pir evalpmc


 parse = a representation of the parse tree
 past  = an intermediate format representing the parrot abstract syntax tree
 post  = an intermediate format representing the parrot opcode syntax tree
 pir   = the parrot intermediate representation


To specify options to the underlying parrot VM, you must explicitly run parrot; you cannot specify these options by using the perl6 executable.

 parrot [parrot switches] perl6.pbc [switches] [--] [programfile] [arguments]

See parrot --help for a list of valid parrot options.


Written by the Rakudo contributors, see the CREDITS file.

This manual page was written by Reini Urban, Moritz Lenz and the Rakudo contributors.

Something went wrong with that request. Please try again.