# Reference · P5 Reference for the **p5 runtime** (the default — a faithful Rust reimplementation of perl5 5.42). Two parts: the **Perl language** reference (variables, functions, operators, regex, data types, subroutines) and the **Module** reference for every built-in native module. ## Perl language - [Variables](core/perlvar) - [Functions](core/perlfunc) - [Operators](core/perlop) - [Regular expressions](core/perlre) - [Data types](core/perldata) - [Subroutines](core/perlsub) ```{toctree} :hidden: :maxdepth: 2 core/perlvar core/perlfunc core/perlop core/perlre core/perldata core/perlsub ``` ## Modules Built-in modules, by top-level namespace. Badges show the feature tier and any extra Cargo features required — see [Disclaimer & bug reports](../disclaimer) for how to check which features your pperl binary has. - [`B`](B) — Inspect a running Perl program's own optree, symbol table, and compiled subs. - [`Clone`](Clone) — Make a deep, independent copy of any Perl value — hashes, arrays, scalars, references, - [`Config`](Config) — Look up the build-time configuration of the running Perl interpreter. - [`Cwd`](Cwd) — Report the current working directory and resolve paths to their - [`Data`](Data) :: [ [`Dumper`](Data/Dumper) ] - [`Devel`](Devel) :: [ [`Peek`](Devel/Peek) ] - [`Digest`](Digest) :: [ [`MD5`](Digest/MD5), [`SHA`](Digest/SHA) ] - [`Encode`](Encode) — Convert between Perl character strings and bytes in any named encoding — - [`Errno`](Errno) — Symbolic names for the `errno(3)` values your system uses — `EINTR`, `EAGAIN`, - [`Fcntl`](Fcntl) — Symbolic constants for `fcntl(2)`, `flock(2)`, `seek(2)`, and file-mode - [`File`](File) :: [ [`Glob`](File/Glob), [`Map`](File/Map), [`Temp`](File/Temp) ] - [`Filter`](Filter) :: [ [`Util`](Filter/Util) ] - [`Hash`](Hash) :: [ [`Util`](Hash/Util) ] - [`I18N`](I18N) :: [ [`Langinfo`](I18N/Langinfo) ] - [`IO`](IO) — Load the core IO modules — `IO::Handle`, `IO::File`, `IO::Seekable`, `IO::Pipe`, `IO::Socket`, `IO::Dir` — in one `use`. - [`List`](List) :: [ [`Util`](List/Util) ] - [`MIME`](MIME) :: [ [`Base64`](MIME/Base64), [`QuotedPrint`](MIME/QuotedPrint) ] - [`Math`](Math) :: [ [`GMP`](Math/GMP) ] - [`PDL`](PDL) — `use PDL` boots Core, Ops, Ufunc, Math, Primitive, Slices, Basic :: [ [`Bad`](PDL/Bad), [`Basic`](PDL/Basic), [`Constants`](PDL/Constants), [`Core`](PDL/Core), [`FFT`](PDL/FFT), [`Lite`](PDL/Lite), [`LiteF`](PDL/LiteF), [`Math`](PDL/Math), [`MatrixOps`](PDL/MatrixOps), [`Ops`](PDL/Ops), [`Primitive`](PDL/Primitive), [`Slices`](PDL/Slices), [`Types`](PDL/Types), [`Ufunc`](PDL/Ufunc) ] - [`POSIX`](POSIX) — The POSIX (IEEE Std 1003.1) C standard library, exposed to Perl. - [`PadWalker`](PadWalker) — Reach into another subroutine's `my` and `our` variables — read them, - [`PerlIO`](PerlIO) :: [ [`encoding`](PerlIO/encoding), [`mmap`](PerlIO/mmap), [`via`](PerlIO/via) ] - [`Peta`](Peta) :: [ [`FFI`](Peta/FFI) ] - [`SDBM_File`](SDBM_File) — Tie a Perl hash to an on-disk SDBM database so keys and values persist between runs. - [`Scalar`](Scalar) :: [ [`Util`](Scalar/Util) ] - [`Socket`](Socket) — BSD socket constants and address pack/unpack helpers that feed Perl's - [`Storable`](Storable) — Serialise arbitrary Perl data structures to bytes, reconstruct them later, or deep-clone them in memory. - [`Sys`](Sys) :: [ [`Hostname`](Sys/Hostname) ] - [`Term`](Term) :: [ [`ReadLine`](Term/ReadLine) ] - [`Time`](Time) :: [ [`HiRes`](Time/HiRes) ] - [`attributes`](attributes) — The machinery behind `sub foo : lvalue method { ... - [`mro`](mro) — Method Resolution Order — how Perl decides which parent class's method a call inherits. - [`re`](re) — The `re` pragma and regular-expression introspection module. - [`version`](version) — Turn a version string into an object you can compare, print, and introspect. ```{toctree} :hidden: :maxdepth: 2 B Clone Config Cwd Data Devel Digest Encode Errno Fcntl File Filter Hash I18N IO List MIME Math PDL POSIX PadWalker PerlIO Peta SDBM_File Scalar Socket Storable Sys Term Time attributes mro re version ```