A lengthy description of the full list of modules included with Perl is well beyond the scope of this book. The following is a listing of the modules in the standard Perl distribution with a brief description. If you're curious about what the module does and how it works, use perldoc to view the documentation for a specific module.
Allows Perl to compile functions only when needed.
Splits modules for autoloading.
Allows repetitive timing of Perl functions for speed benchmarking.
Allows easy access to the Common Gateway Interface for Web programming, covered in Hours 17 to 24.
Provides access to the archive of Perl's modules, for installing new modules.
Generates error messages.
Provides an object interface to directory handles.
Maps the operating system's environment into variables.
Allows you to write your own modules.
Allow you to write your own modules or install modules.
Offer more file-manipulation operations, such as File::Copy.
Allows OS-independent operations on filenames.
Opens more files than the OS normally allows.
Finds the name of the current executing program.
Allow you to process command-line options in your programs.
Allows locale-specific sorting.
Provide Interprocess Communications; two- and three-ended pipes, for example.
Allow you to use extended math libraries with arbitrary- precision floating-point, integer, and complex numbers.
Allow you to get information on network hosts. For example, Net::hostent TRanslates IP addresses—such as 22.214.171.124—into host names—such as www.yahoo.com.
Provide access to Perl's Plain Old Documentation formatting routines.
Allows you to view or manipulate Perl's own symbol table.
Obtains your system's IP hostname.
Allows writing to a Unix system's error log.
Provide terminal-controlling functions interface for cursor positioning, screen cleaning, and so on.
Builds abbreviation tables.
Allows you to parse text to search for words.
Categorizes words based on pronunciation, using the Soundex method.
Connect Perl's variables to functions so that you can implement your own arrays and hashes.
Allow you to parse and manipulate time. For example, you can convert times such as "Sat Jul 24 16:21:38 EDT 1999" back into the number of seconds since January 1, 1970.
Allows you to define constant values.
Causes Perl to do its math in integers instead of floating-point numbers (sometimes).
Causes locale-based string comparison (international character string comparison).
If you want to get a feel for the kinds of modules available to you—for free—use a Web browser and head to http://www.cpan.org. The modules are organized (roughly) by category.
Some modules require a C compiler and a minimal development environment for installation. They may not be available on a Windows machine. ActiveState's Perl installation contains a utility called PPM, which can be used to browse and install prebuilt modules.
The Appendix contains step-by-step instructions for installing modules on Unix and Windows machines. These instructions will explain how to use the CPAN module (for Unix) and ActiveState's PPM utility to install new modules.