# Reference Reference for pperl, a faithful Rust reimplementation of perl5 5.44. 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) - [Data types](core/perldata) - [Subroutines](core/perlsub) - [Locale handling](core/perllocale) - [Diagnostics](core/perldiag) - [Security and taint mode](core/perlsec) ```{toctree} :hidden: :maxdepth: 2 core/perlvar core/perlfunc core/perlop core/perldata core/perlsub core/perllocale core/perldiag core/perlsec ``` ## 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, - [`Compress`](Compress) :: [ [`Raw`](Compress/Raw) ] - [`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`. - [`IPC`](IPC) :: [ [`SysV`](IPC/SysV) ] - [`List`](List) :: [ [`Util`](List/Util) ] - [`MIME`](MIME) :: [ [`Base64`](MIME/Base64), [`QuotedPrint`](MIME/QuotedPrint) ] - [`Math`](Math) :: [ [`GMP`](Math/GMP) ] - [`Opcode`](Opcode) - Name, group and mask the interpreter's opcodes - the machinery `Safe` - [`PDL`](PDL) - PDL - the Perl Data Language: fast, vectorised, multidimensional arrays for scientific and bulk numeric work. :: [ [`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), [`XS`](Peta/XS) ] - [`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 Compress Config Cwd Data Devel Digest Encode Errno Fcntl File Filter Hash I18N IO IPC List MIME Math Opcode PDL POSIX PadWalker PerlIO Peta SDBM_File Scalar Socket Storable Sys Term Time attributes mro re version ```