Standard Modules
The following is a list of all Perl pragmas and modules included with the current Perl distribution (version 5.004). Modules new to 5.004 are italicized. The classification of the modules is admittedly arbitrary, and not all of them are applicable to Windows systems.
General Developing: Miscellaneous
- autouse
- Defers loading of a module until it's used
- constant
- Creates compile-time constants
- Benchmark
- Checks and compares running times of code
- Config
- Accesses Perl configuration information
- Env
- Imports environment variables
- English
- Uses English or awk names for punctuation variables
- FindBin
- Finds path of currently executing program
- Getopt::Long
- Provides extended processing of command-line options
- Getopt::Std
- Processes single-character switches with switch clustering
- lib
- Manipulates @INC at compile time
- Shell
- Runs shell commands transparently within Perl
- strict
- Restricts unsafe constructs
- Symbol
- Generates anonymous globs; qualifies variable names
- subs
- Predeclares subroutine names
- vars
- Predeclares global variable names
General Developing: Error Handling and Logging
- Carp
- Generates error messages
- diagnostics
- Forces verbose warning diagnostics
- sigtrap
- Enables stack backtrace on unexpected signals
- Sys::Syslog
- Provides Perl interface to UNIX syslog (3) calls
General Developing: File Access and Handling
- Cwd
- Gets pathname of current working directory
- DirHandle
- Supplies object methods for directory handles
- Fcntl
- Loads the C Fcntl.h defines
- File::Basename
- Parses file specifications
- File::CheckTree
- Runs many tests on a collection of files
- File::Copy
- Copies files or filehandles
- File::Find
- Traverses a file tree
- File::Path
- Creates or removes a series of directories
- FileCache
- Keeps more files open than the system permits
- FileHandle
- Supplies object methods for filehandles
- SelectSaver
- Saves and restores selected filehandles
General Developing: Classes for I/O Operations
- IO
- Top-level interface to IO::* classes
- IO::File
- Object methods for filehandles
- IO::Handle
- Object methods for I/O handles
- IO::Pipe
- Object methods for pipes
- IO::Seekable
- Seek-based methods for I/O objects
- IO::Select
- Object interface to select
- IO::Socket
- Object interface to sockets
General Developing: Text Processing and Screen Interfaces
- locale
- Uses POSIX locales for built-in operations
- Pod::HTML
- Converts POD data to HTML
- Pod::Text
- Converts POD data to formatted ASCII text
- Search::Dict
- Searches for key in dictionary file
- Term::Cap
- Interfaces termcap
- Term::Complete
- Word-completion module
- Text::Abbrev
- Creates an abbreviation table from a list
- Text::ParseWords
- Parses text into an array of tokens
- Text::Soundex
- Implements the Soundex Algorithm described by Knuth
- Text::Tabs
- Expands and unexpands tabs
- Text::Wrap
- Wraps text into a paragraph
Database Interfaces
- AnyDBM_File
- Provides framework for multiple DBMs
- DB_File
- Provides access to Berkeley DB
- GDBM_File
- Provides tied access to GDBM library
- NDBM_File
- Provides tied access to NDBM files
- ODBM_File
- Provides tied access to ODBM files
- SDBM_File
- Provides tied access to SDBM files
Mathematics
- Integer
- Does integer arithmetic instead of double precision
- Math::BigFloat
- Provides arbitrary-length, floating-point math package
- Math::BigInt
- Provides arbitrary-length integer math package
- Math::Complex
- Provides complex numbers package
The World Wide Web
- CGI
- Interfaces web server (Common Gateway Interface)
- CGI::Apache
- Supports Apache's Perl module
- CGI::Carp
- Details log server errors with helpful context
- CGI::Fast
- Supports FastCGI (persistent server process)
- CGI::Push
- Supports server push
- CGI::Switch
- Provides simple interface for multiple server types
Networking and Interprocess Communication
- IPC::Open2
- Opens a process for both reading and writing
- IPC::Open3
- Opens a process for reading, writing, and error handling
- Net::Ping
- Checks whether a host is online
- Socket
- Loads the C socket.h defines and structure manipulators
- Sys::Hostname
- Tries every conceivable way to get hostname
Automated Access to the Comprehensive Perl Archive Network
- CPAN
- Provides simple interface to CPAN
- CPAN::FirstTime
- Provides utility for creating CPAN configuration file
- CPAN::Nox
- Runs CPAN while avoiding compiled extensions
Time and Locale
- Time::Local
- Efficiently computes time from local and GMT time
- Collate
- Compares 8-bit scalar data according to the current locale
Object Interfaces to Built-in Functions
- Class::Struct
- Declares struct-like datatypes as Perl classes
- File::stat
- Provides object interface to
statfunction - Net::hostent
- Provides object interface to
gethost*functions - Net::netent
- Provides object interface to
getnet*functions - Net::protoent
- Provides object interface to
getproto*functions - Net::servent
- Provides object interface to
getserv*functions - Time::gmtime
- Provides object interface to
gmtimefunction - Time::localtime
- Provides object interface to
localtimefunction - Time::tm
- Provides internal object for
Time::{gm,local}time - User::grent
- Provides object interface to
getgr*functions - User::pwent
- Provides object interface to
getpw*functions
For Developers: Autoloading and Dynamic Loading
- AutoLoader
- Loads functions only on demand
- AutoSplit
- Splits a package for autoloading
- Devel::SelfStubber
- Generates stubs for a
SelfLoadingmodule - DynaLoader
- Provides automatic dynamic loading of Perl modules
- SelfLoader
- Loads functions only on demand
For Developers: Language Extensions and Platform Development Support
- blib
- Finds blib directory structure during module builds
- ExtUtils::Embed
- Provides utilities for embedding Perl in C programs
- ExtUtils::Install
- Installs files from here to there
- ExtUtils::Liblist
- Determines libraries to use and how to use them
- ExtUtils::MakeMaker
- Creates a Makefile for a Perl extension
- ExtUtils::Manifest
- Provides utilities to write and check a MANIFEST file
- ExtUtils::Miniperl
- Writes the C code for perlmain.c
- ExtUtils::Mkbootstrap
- Makes a bootstrap file for use by DynaLoader
- ExtUtils::Mksymlists
- Writes linker-option files for dynamic extension
- ExtUtils::MM_OS2
- Provides methods to override UNIX behavior in
ExtUtils::MakeMaker - ExtUtils::MM_Unix
- Provides methods used by
ExtUtils::MakeMaker - ExtUtils::MM_VMS
- Provides methods to override UNIX behavior in
ExtUtils::MakeMaker - ExtUtils::testlib
- Fixes @INC to use just-built extension
- Opcode
- Disables opcodes when compiling Perl code
- ops
- Provides pragma for use with Opcode module
- POSIX
- Interfaces to IEEE Std 1003.1
- Safe
- Creates safe namespaces for evaluating Perl code
- Test::Harness
- Runs Perl standard test scripts with statistics
- vmsish
- Enables VMS-specific features
For Developers: Object-Oriented Developing Support
- Exporter
- Provides default import method for modules
- overload
- Overloads Perl's mathematical operations
- Tie::RefHash
- Provides base-class definitions for tied hashes with references as keys
- Tie::Hash
- Provides base-class definitions for tied hashes
- Tie::Scalar
- Provides base-class definitions for tied scalars
- Tie::StdHash
- Provides base-class definitions for tied hashes
- Tie::StdScalar
- Provides base-class definitions for tied scalars
- Tie::SubstrHash
- Provides fixed-table-size, fixed-key-length hashing
- UNIVERSAL
- Provides base-class definitions for all classes