Introduction#
pperl is a next-generation Perl 5 platform written in Rust, targeting Perl 5.42+ compatibility.
Goals#
Auto-Parallelization - Automatic parallel
map,grep,for,whileloops via Rayon work-stealingJIT Compilation - Native code generation via Cranelift for hot loops (up to 76x faster than perl5)
Pure Perl Viability - Fast enough that XS becomes optional
Architecture Overview#
flowchart LR
subgraph Input
A[Perl Source]
end
subgraph Parser
B[Lexer] --> C[Parser]
C --> D[AST]
end
subgraph Compiler
D --> E[Codegen]
E --> F[OpArena]
end
subgraph Runtime
F --> G[Interpreter]
G --> H[PP Dispatch]
end
subgraph Output
H --> I[Result]
end
A --> B
Quick Start#
# Run a script
pperl script.pl
# Run one-liner
pperl -e 'print "Hello, World!\n"'
# Check syntax only
pperl -c script.pl
Compatibility#
pperl aims for high compatibility with Perl 5.42+.
Platform Support#
Linux only (any architecture)
No Windows, macOS, or other platforms