1perl6(1) User Contributed Perl Documentation perl6(1)
2
3
4
6 perl6 - Rakudo Perl 6 Compiler
7
9 perl6 [switches] [--] [programfile] [arguments]
10
12 With no arguments, enters a REPL. With a "[programfile]" or the "-e"
13 option, compiles the given program and by default also executes the
14 compiled code.
15
16 -c check syntax only (runs BEGIN and CHECK blocks)
17 --doc extract documentation and print it as text
18 -e program one line of program, strict is enabled by default
19 -h, --help display this help text
20 -n run program once for each line of input
21 -p same as -n, but also print $_ at the end of lines
22 -I path adds the path to the module search path
23 -M module loads the module prior to running the program
24 --target=[stage] specify compilation stage to emit
25 --optimize=[level] use the given level of optimization (0..3)
26 --encoding=[mode] specify string encoding mode
27 -o, --output=[name] specify name of output file
28 -v, --version display version information
29 --stagestats display time spent in the compilation stages
30 --ll-exception display a low level backtrace on errors
31 --profile write profile information as HTML file (MoarVM)
32 --profile-filename provide a different filename (also allows .json)
33 --doc=[module] Use Pod::To::[module] to render inline documentation.
34 --full-cleanup try to free all memory and exit cleanly (MoarVM)
35 --debug-port=port listen for incoming debugger connections (MoarVM)
36 --debug-suspend pause execution at the entry point (MoarVM)
37 --tracing output a line to stderr on every interpreter instr (only
38 if enabled in MoarVM)
39
40 Note that only boolean single-letter options may be bundled.
41
42 The supported values for "--target" are:
43
44 Target Backend Description
45 ====== ======= ===========
46 parse all a representation of the parse tree
47 ast all an abstract syntax tree (before optimizations)
48 optimize all an abstract syntax tree (after optimizations)
49
50 mbc MoarVM MoarVM byte code
51 jar JVM JVM archive
52
53 For "--profile-filename", specifying a name ending in ".json" will
54 write a raw JSON profile dump. The default if this is omitted is
55 "profile-[timestamp].html".
56
58 Rakudo's behavior can be tweaked by a (growing) number of environment
59 variables; this section attempts to document all those currently in
60 use.
61
62 Module Loading
63 "RAKUDOLIB", "PERL6LIB" (Str; src/core/Inc.pm)
64 Appends a comma-delimited list of paths to @INC. "RAKUDOLIB" is
65 evaluated first.
66
67 "RAKUDO_MODULE_DEBUG" (Bool; src/Perl6/ModuleLoader.pm)
68 Causes the module loader to print debugging information to standard
69 error.
70
71 Error Message Verbosity and Strictness
72 "RAKUDO_NO_DEPRECATIONS" (Bool; src/core/Deprecations.pm)
73 If true, suppresses deprecation warnings triggered by the "is
74 DEPRECATED" trait.
75
76 "RAKUDO_DEPRECATIONS_FATAL" (Bool; src/core/Deprecations.pm)
77 If true, deprecation warnings become thrown exceptions.
78
79 "RAKUDO_VERBOSE_STACKFRAME" (UInt; src/core/Backtrace.pm)
80 Displays source code in stack frames surrounded by the specified
81 number of lines of context.
82
83 "RAKUDO_BACKTRACE_SETTING" (Bool; src/core/Backtrace.pm)
84 Controls whether .setting files are included in backtraces.
85
86 Affecting Precompilation
87 "RAKUDO_PREFIX" (Str; src/core/CompUnit/RepositoryRegistry.pm)
88 When this is set, Rakudo will look for the standard repositories
89 (perl, vendor, site) in the specified directory. This is intended
90 as an escape hatch for build-time bootstrapping issues, where
91 Rakudo may be built as an unprivileged user without write access to
92 the runtime paths in NQP's config.
93
94 "RAKUDO_PRECOMP_DIST" (src/core/CompUnit/PrecompilationRepository.pm)
95 "RAKUDO_PRECOMP_LOADING"
96 (src/core/CompUnit/PrecompilationRepository.pm)
97 "RAKUDO_PRECOMP_WITH" (src/core/CompUnit/PrecompilationRepository.pm)
98 These are internal variables for passing serialized state to
99 precompilation jobs in child processes. Please do not set them
100 manually.
101
102 Other
103 "RAKUDO_ERROR_COLOR" (Bool; src/core/Exception.pm)
104 Controls whether to emit ANSI codes for error highlighting.
105 Defaults to true if unset, except on Win32.
106
107 "RAKUDO_MAX_THREADS" (UInt; src/core/ThreadPoolScheduler.pm)
108 Override the default maximum number of threads used by a thread
109 pool.
110
111 "TMPDIR", "TEMP", "TMP" (Str; src/core/IO/Spec/)
112 The "IO::Spec::Unix.tmpdir" method will return $TMPDIR if it points
113 to a directory with full access permissions for the current user,
114 with a fallback default of '/tmp'.
115
116 "IO::Spec::Cygwin" and "IO::Spec::Win32" use more Win32-appropriate
117 lists which also include the "%TEMP%" and "%TMP%" environment
118 variables.
119
120 "PATH", "Path" (Str; src/core/IO/Spec/)
121 The "IO::Spec::Unix.path" method splits $PATH as a shell would;
122 i.e. as a colon-separated list. "IO::Spec::Cygwin" inherits this
123 from "IO::Spec::Unix".
124
125 "IO::Spec::Win32.path" will read the first defined of either
126 "%PATH%" or "%Path%" as a semicolon-delimited list.
127
128 "PERL6_HOME"
129 Allows to override the Perl 6 installation path. Defaults to
130 "[perl6_executable_dir]/../share/perl6".
131
132 "NQP_HOME"
133 Allows to override the NQP installation path. Defaults to
134 "[perl6_executable_dir]/../share/nqp".
135
137 Written by the Rakudo contributors, see the CREDITS file.
138
139 This manual page was written by Reini Urban, Moritz Lenz and the Rakudo
140 contributors.
141
142
143
144perl v5.30.1 2019-12-11 perl6(1)