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.
Module Name | Description |
---|
AutoLoader | Allows Perl to compile functions only when needed. |
AutoSplit | Splits modules for autoloading. |
Benchmark | Allows repetitive timing of Perl functions for speed benchmarking. |
CGI | Allows easy access to the Common Gateway Interface for Web programming, covered in Hours 17 to 24. |
CPAN | Provides access to the archive of Perl's modules, for installing new modules. |
Carp | Generates error messages. |
DirHandle | Provides an object interface to directory handles. |
Env | Maps the operating system's environment into variables. |
Exporter | Allows you to write your own modules. |
ExtUtils::* | Allow you to write your own modules or install modules. |
File::* | Offer more file-manipulation operations, such as File::Copy. |
File::Spec::* | Allows OS-independent operations on filenames. |
FileCache | Opens more files than the OS normally allows. |
FindBin | Finds the name of the current executing program. |
Getopt::* | Allow you to process command-line options in your programs. |
Il8N::Collate | Allows locale-specific sorting. |
IPC::* | Provide Interprocess Communications; two- and three-ended pipes, for example. |
Math::* | Allow you to use extended math libraries with arbitrary- precision floating-point, integer, and complex numbers. |
Net::* | Allow you to get information on network hosts. For example, Net::hostent TRanslates IP addresses—such as 204.71.200.68—into host names—such as www.yahoo.com. |
Pod::* | Provide access to Perl's Plain Old Documentation formatting routines. |
Symbol | Allows you to view or manipulate Perl's own symbol table. |
Sys::Hostname | Obtains your system's IP hostname. |
Sys::Syslog | Allows writing to a Unix system's error log. |
Term::* | Provide terminal-controlling functions interface for cursor positioning, screen cleaning, and so on. |
Text::Abbrev | Builds abbreviation tables. |
Text::ParseWords | Allows you to parse text to search for words. |
Text::Soundex | Categorizes words based on pronunciation, using the Soundex method. |
Tie::* | Connect Perl's variables to functions so that you can implement your own arrays and hashes. |
Time::* | 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. |
constant | Allows you to define constant values. |
integer | Causes Perl to do its math in integers instead of floating-point numbers (sometimes). |
locale | 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.