Provided by: rakudo_2019.11-4_amd64 bug

NAME

       perl6 - Rakudo Perl 6 Compiler

SYNOPSIS

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

DESCRIPTION

       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, strict is enabled by default
         -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
         -I path              adds the path to the module search path
         -M module            loads the module prior to running the program
         --target=[stage]     specify compilation stage to emit
         --optimize=[level]   use the given level of optimization (0..3)
         --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            write profile information as HTML file (MoarVM)
         --profile-filename   provide a different filename (also allows .json)
         --doc=[module]       Use Pod::To::[module] to render inline documentation.
         --full-cleanup       try to free all memory and exit cleanly (MoarVM)
         --debug-port=port    listen for incoming debugger connections (MoarVM)
         --debug-suspend      pause execution at the entry point (MoarVM)
         --tracing            output a line to stderr on every interpreter instr (only
                              if enabled in MoarVM)

       Note that only boolean single-letter options may be bundled.

       The supported values for "--target" are:

        Target     Backend  Description
        ======     =======  ===========
        parse      all      a representation of the parse tree
        ast        all      an abstract syntax tree (before optimizations)
        optimize   all      an abstract syntax tree (after optimizations)

        mbc        MoarVM   MoarVM byte code
        jar        JVM      JVM archive

       For "--profile-filename", specifying a name ending in ".json" will write a raw JSON
       profile dump.  The default if this is omitted is "profile-[timestamp].html".

ENVIRONMENT VARIABLES

       Rakudo's behavior can be tweaked by a (growing) number of environment variables; this
       section attempts to document all those currently in use.

   Module Loading
       "RAKUDOLIB", "PERL6LIB" (Str; src/core/Inc.pm)
           Appends a comma-delimited list of paths to @INC. "RAKUDOLIB" is evaluated first.

       "RAKUDO_MODULE_DEBUG" (Bool; src/Perl6/ModuleLoader.pm)
           Causes the module loader to print debugging information to standard error.

   Error Message Verbosity and Strictness
       "RAKUDO_NO_DEPRECATIONS" (Bool; src/core/Deprecations.pm)
           If true, suppresses deprecation warnings triggered by the "is DEPRECATED" trait.

       "RAKUDO_DEPRECATIONS_FATAL" (Bool; src/core/Deprecations.pm)
           If true, deprecation warnings become thrown exceptions.

       "RAKUDO_VERBOSE_STACKFRAME" (UInt; src/core/Backtrace.pm)
           Displays source code in stack frames surrounded by the specified number of lines of
           context.

       "RAKUDO_BACKTRACE_SETTING" (Bool; src/core/Backtrace.pm)
           Controls whether .setting files are included in backtraces.

   Affecting Precompilation
       "RAKUDO_PREFIX" (Str; src/core/CompUnit/RepositoryRegistry.pm)
           When this is set, Rakudo will look for the standard repositories (perl, vendor, site)
           in the specified directory. This is intended as an escape hatch for build-time
           bootstrapping issues, where Rakudo may be built as an unprivileged user without write
           access to the runtime paths in NQP's config.

       "RAKUDO_PRECOMP_DIST" (src/core/CompUnit/PrecompilationRepository.pm)
       "RAKUDO_PRECOMP_LOADING" (src/core/CompUnit/PrecompilationRepository.pm)
       "RAKUDO_PRECOMP_WITH" (src/core/CompUnit/PrecompilationRepository.pm)
           These are internal variables for passing serialized state to precompilation jobs in
           child processes.  Please do not set them manually.

   Other
       "RAKUDO_ERROR_COLOR" (Bool; src/core/Exception.pm)
           Controls whether to emit ANSI codes for error highlighting. Defaults to true if unset,
           except on Win32.

       "RAKUDO_MAX_THREADS" (UInt; src/core/ThreadPoolScheduler.pm)
           Override the default maximum number of threads used by a thread pool.

       "TMPDIR", "TEMP", "TMP" (Str; src/core/IO/Spec/)
           The "IO::Spec::Unix.tmpdir" method will return $TMPDIR if it points to a directory
           with full access permissions for the current user, with a fallback default of '/tmp'.

           "IO::Spec::Cygwin" and "IO::Spec::Win32" use more Win32-appropriate lists which also
           include the "%TEMP%" and "%TMP%" environment variables.

       "PATH", "Path" (Str; src/core/IO/Spec/)
           The "IO::Spec::Unix.path" method splits $PATH as a shell would; i.e. as a colon-
           separated list.  "IO::Spec::Cygwin" inherits this from "IO::Spec::Unix".

           "IO::Spec::Win32.path" will read the first defined of either "%PATH%" or "%Path%" as a
           semicolon-delimited list.

       "PERL6_HOME"
           Allows to override the Perl 6 installation path. Defaults to
           "[perl6_executable_dir]/../share/perl6".

       "NQP_HOME"
           Allows to override the NQP installation path. Defaults to
           "[perl6_executable_dir]/../share/nqp".

AUTHORS

       Written by the Rakudo contributors, see the CREDITS file.

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