# PPerl Architecture How pperl is built, what sets it apart from upstream Perl 5, and the subsystems a working programmer reaches for when they want more than "run this Perl script" — the JIT, the FFI, the native-module layer, and the dual runtime. This guide is descriptive, not a tutorial. Read it to understand *how* pperl does what it does and *why* certain things behave the way they do. Per-function behaviour lives in the [reference tree](../../p5/index). ```{toctree} :maxdepth: 1 runtimes jit ffi native-modules differences-from-upstream ```