These modules come standard with Perl. A plethora of other modules can be found on the Comprehensive Perl Archive Network, CPAN. See Appendix B for a list of URLs.
perldoc
module will provide the documentation for the named module.
Modules marked with an asterisk have submodules that have been omitted from the list.
AnyDBM_File
Provides a framework for multiple DBM files.
Attribute::Handlers*
Allows for a simpler definition of attribute handlers.
AutoLoader
Load functions only on demand.
AutoSplit
Split a package for autoloading.
Implements byte compilation, a Perl to C translator, and other interesting things. To be used with the 0
package. See also the section Chapter 41.
Benchmark
Benchmarks running times of code.
ByteLoader
Loads byte compiler Perl code.
Carp*
Warns of errors.
CGI*
Class::ISA
Investigates the search path for a class’s IS-A tree.
Class::Struct
Declares struct-like data types as Perl classes.
Config
Provides access to Perl configuration information.
CPAN*
Queries, downloads and builds Perl modules from CPAN sites.
Cwd
Gets the pathname of the current working directory.
Data::Dumper
Stringifies Perl data structures, suitable for both printing and eval.
DB
Provides a programmatic interface to the Perl debugging API.
DB_File
Provides access to Berkeley DB (database) files.
Devel*
Contans tools for development of Perl itself.
Digest*
Calculates message digests, like Digest::MD5
.
DirHandle
Supplies object methods for directory handles.
Dumpvalue
Provides screen dump of Perl data.
DynaLoader
Dynamically loads C libraries into Perl code.
Encode*
Supplies tools to deal with character encodings like Unicode, vendor-specific, and various non-Latin-based encodings.
English
Provides verbose English names for punctuation variables.
Env
Imports environment variables as scalars or arrays.
Errno
Imports names for system errors.
Exporter*
Implements default import method for modules.
ExtUtils*
Assists in the development and maintenance of Perl and Perl extension modules.
Fatal
Replaces functions with equivalents that die on failure.
Fcntl
Loads the C fcntl.h
defines.
File::Basename
File::CheckTree
Runs many file checks on a hierarchy of files.
File::Compare
Compares files or filehandles.
File::Copy
Copies files or filehandles.
File::DosGlob
Provides MS-DOS-like globbing (with extensions).
File::Find
Traverses a hierarchy of files.
File::Glob
Provides access to the BSD glob routine.
File::Path
Creates or removes a series of directories.
File::Spec*
Portably performs operations on filenames.
File::stat
Provides a by name interface to the stat functions.
File::Temp
Ensures safe handling of temporary files.
FileCache
Keeps more files open than the system permits.
FileHandle
Supplies object methods for filehandles.
Filter::Simple
Provides simple tools for source filtering.
Filter::Util::Call
Provides tools for source filtering.
FindBin
Locates the directory of the Perl script.
GDBM_File
Provides access to the GNU gdbm library.
Getopt::Long
Provides extensive tools to handle command-line options. Suits all needs.
Getopt::Std
Hash::Util
Contains general-utility hash subroutines.
I18N::Collate
Compares 8-bit scalar data according to the current locale.
I18N::Langinfo
Queries locale information.
I18N::LangTags
Provides functions for dealing with RFC 3066-style language tags.
I18N::LangTags::List
Provides tags and names for human languages.
IO*
Provides various modules for object-oriented I/O.
IPC::Msg
Provides an interface to System V Message IPC.
IPC::Open2
Opens a pipe to a process for both reading and writing.
IPC::Open3
Opens a pipe to a process for reading, writing, and error handling.
IPC::Semaphore
Provides an interface to System V semaphores.
IPC::SysV
The System V IPC object class.
List::Util
Contains general-utility list subroutines.
Locale*
Contains modules to support locales.
Math::BigFloat*
Enables arbitrary length float math package.
Math::BigInt*
Enables arbitrary size integer math package.
Math::BigRat
Enables arbitrary size rational numbers.
Math::Complex
Math::Trig
Contains trigonometric functions.
Memoize
Makes functions faster by trading space for time.
MIME::Base64
Enables encoding and decoding of base64 strings.
MIME::QuotedPrint
Enables encoding and decoding of quoted-printable strings.
NDBM_File
tied access to NDBM files.
Net*
Modules for general networking. Includes network clients for FTP, SMTP, POP3 and SMTP.
Net::hostent
Provides access by name to gethostent and friends.
Net::netent
Provides access by name to getnetent and friends.
Net::protoent
Provides access by name to getprotoent and friends.
Net::servent
Provides access by name to getservent and friends.
NEXT
Provides a pseudo-class NEXT
that allows method redispatch.
O*
The generic interface to Perl Compiler backends. See also the section Chapter 41.
Opcode
Disables named opcodes when compiling Perl code.
PerlIO*
Contains modules for the PerlIO I/O layers.
PerlIO::encoding
Support for encoding layers.
PerlIO::Scalar
Support module for in-memory I/O.
Pod*
Contains modules to deal with Plain Old Documentation (POD) files. This includes parsers, and converters to HTML and LATEX.
Pod::Usage
Prints a usage message from embedded POD documentation.
POSIX
Provides an interface to IEEE Std 1003.1, POSIX.
Safe
Compiles and executes code in restricted compartments.
Scalar::Util
Contains general-utility scalar subroutines.
SDBM_File
tied access to sdbm files.
Search::Dict
Searches for keys in dictionary files.
SelectSaver
Saves and restores a selected filehandle.
SelfLoader
Load functions only on demand.
Shell
Runs shell commands transparently within Perl.
Socket
Loads the C socket.h
defines and structure manipulators.
Storable
Provides persistency for Perl data structures.
Switch
Implements a Perl6-style switch statement.
Symbol
Manipulates Perl symbols and their names.
Sys::Hostname
Determines the name of this system.
Sys::Syslog
Provides an interface to the Unix syslog calls.
Term::ANSIColor
Enables color screen output using escape sequences.
Term::Cap
Provides an interface to the Unix termcap database.
Term::Complete
Enables word completion for terminal input.
Term::ReadLine
Provides an interface to various readline packages.
Test*
Provides a simple framework for writing test scripts.
Text::Abbrev
Text::Balanced
Extracts delimited text sequences from strings.
Text::ParseWords
Parses text into a list of tokens.
Text::Soundex
Implements Donald Knuth’s Soundex Algorithm.
Text::Tabs
Expands and unexpands tabs.
Text::Wrap
Enables line wrapping to form simple paragraphs.
Thread*
Implements old style Perl threads. Obsolete. Use the Chapter 40 pragma instead.
Tie::Array
Provides base class definitions for tied arrays.
Tie::File
Accesses the lines of a disk file via a Perl array.
Tie::Handle
Provides base class definitions for tied filehandles.
Tie::Hash
Provides base class definitions for tied hashes.
Tie::Memoize
Adds data to a hash when needed.
Tie::RefHash
Provides base classes for tied hashes with references as keys.
Tie::Scalar
Provides base class definitions for tied scalars.
Tie::SubstrHash
Enables fixed table-size, fixed key-length hashing.
Time::gmtime
Provides access by name to gmtime.
Time::HiRes
Contains high resolution alarm, sleep, gettimeofday, and interval timers.
Time::Local
Time::localtime
Provides access by name to localtime.
Time::tm
Provides an internal object for Time::gmtime
and Time::localtime.
Unicode::Collate
Supports Unicode collation algorithms.
Unicode::Normalize
Supports Unicode normalization forms.
Unicode::UCD
Provides access to the Unicode Character Database.
UNIVERSAL
Contains the base class for all classes.
User::grent
Access by name to getgrent and friends.
User::pwent
Access by name to getpwent and friends.
XSLoader
Dynamically loads C libraries into Perl code.