Glossary#
Terms, acronyms, and project-specific vocabulary.
- pperl#
The PetaPerl runtime — a Rust reimplementation of Perl 5, binary name
pperl. Reads the same Perl source code the stockperlinterpreter does; ships a p5 runtime (the faithful reimplementation) as default and a pp runtime (native Rust interpreter) under--pp.- p5 runtime#
The default pperl runtime. Behavioural mirror of
perl5: semantics, edge cases, magic. Where a test disagrees with upstream perl5, p5 is the one that’s wrong.- pp runtime#
The alternative pperl runtime, selected by
--pp. Implemented from scratch in Rust with a simpler op dispatch. Faster on some workloads; not yet feature-complete against perl5.- SV#
Scalar Value. A Perl scalar as represented in pperl’s runtime — the enum lives in
src/runtime/sv.rsand mirrorsperl5’s SV layout where the semantics depend on it.- JIT#
Just-In-Time compilation. pperl compiles hot loops to machine code via Cranelift; triggered automatically on eligible
for/whilebodies.- named unary operator#
A Perl built-in that takes exactly one argument at a specific precedence level — tighter than comparison operators, looser than the arithmetic and shift operators. Unlike a list operator (which greedily slurps the rest of the expression), a named unary takes its one argument and stops there. Examples:
defined,exists,ref,scalar,length,uc/lc,chr/ord,int,abs,sqrt,sin/cos,log,exp,-e/-r/-f/… file tests. Seeperlopprecedence row 10.- list operator#
A Perl built-in that takes a list of arguments and, at the right-hand side of the operator, greedily consumes the rest of the expression. Examples:
print,sort,push,unshift,join,split. Contrast with named unary operator.
This is an initial seed. Terms referenced by {term} roles elsewhere
in the docs should be added here when they appear.