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