CLI options#
pperl accepts a small set of command-line flags. Most are perl-compatible; a handful are pperl-specific (JIT, parallelism, runtime selection, bytecode cache). The authoritative list is whatever pperl --help prints; the tables below show those flags, extracted from the interpreter source and rendered here on every documentation build.
Note
The actual pperl --help output on the terminal is always in English - the binary does not localise help strings. Translated documentation shows the same flags with descriptions in the page’s language so readers can study what each flag does; flag tokens (-T, --threads=N, …) are always verbatim.
PetaPerl - Next-generation Perl 5 runtime
Usage#
pperl [OPTIONS] [--] [SCRIPT [ARGS...]]
pperl -e 'code'
Perl-compatible options#
Flag | Description |
|---|---|
| Execute one-liner (modern features always enabled) |
| Prepend directory to @INC |
| Check syntax only, don’t execute |
| Enable warnings |
| Loop over input lines (no auto-print), like while(<>) |
| Loop over input lines and auto-print, like a sed filter |
| Autosplit each line into @F (with -n or -p) |
| Set the -a split pattern (implies -a) |
| Auto-chomp input, set output record separator |
| Set input record separator (-0 = NUL, -00 = paragraph) |
| Edit files in place (optional backup extension) |
| Taint mode (forced) |
| Taint warnings |
| Show version information |
| Show detailed configuration |
| Launch interactive REPL (requires ‘shell’ feature) |
| Show this help message |
Pperl-specific options#
Flag | Description |
|---|---|
| Read op tree from stdin (B::PetaPerl JSON format) |
| Read op tree from stdin (B::Concise format) |
| Show performance statistics (time, memory, ops) |
| Enable execution tracing (note: short -t is perl5 taint-warn) |
| Set execution timeout in seconds (default: none) |
| Dump canonical op tree (don’t execute) |
| Compare op trees: perl5 backend vs native parser |
| Enable bytecode caching (~/.pperl/cache/) |
| Clear all bytecode caches and exit |
Runtime options#
Flag | Description |
|---|---|
| Disable JIT compilation (on by default) |
| Disable auto-parallelization (on by default) |
| Number of threads (default: all CPUs) |
| Minimum iterations to parallelize (default: 100) |
| Print JIT summary to stderr at exit (see also PPERL_JIT_LOG) |
Examples#
pperl script.pl
Execute a Perl script
pperl -e 'say "Hello!"'
Execute a one-liner (say, state, etc. always available)
pperl -c script.pl
Check script syntax without executing
pperl script.pl arg1 arg2
Pass arguments to script (@ARGV)
For more information, see: https://gl.petatech.eu/petatech/peta-perl
Environment variables#
pperl sets several environment variables inside the process it runs, so scripts can introspect the running interpreter:
Variable | Meaning |
|---|---|
| Version string (same as |
| Comma-separated list of compiled-in Cargo features |
| Comma-separated |
| Shell integration flavor (empty if |
|
|
Run pperl -V to see all values for the current binary.