--- orphan: true --- ```{index} single: pperl ``` ```{index} single: PetaPerl ``` # Glossary Terms, acronyms, and project-specific vocabulary. ```{glossary} pperl The PetaPerl runtime — a Rust reimplementation of Perl 5, binary name `pperl`. Reads the same Perl source code the stock `perl` interpreter 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.rs` and mirrors `perl5`'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`/`while` bodies. 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. See `perlop` precedence 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.