Like many programming languages, Perl has mechanisms to use external libraries of code, making one file contain common routines used by several programs. Perl modules are typically installed in one of several directories whose paths are placed in the Perl interpreter when it is first compiled; on Unix-like operating systems, common paths include /usr/lib/perl5, /usr/local/lib/perl5, and several of their subdirectories. Some of these perform bootstrapping tasks, such as , which is used for building and installing other extension modules; others, like CGI.pm, are merely commonly used. Forking, and creating competing modules for the same task or purpose, is common.
The CPAN's main purpose is to help programmers locate modules and programs not included in the Perl standard distribution. There is no formal bug tracking system, but there is a third-party bug tracking system that CPAN designated as the suggested official method of reporting issues with modules.
With thousands of distributions, CPAN needs to be structured to be useful.
Distributions on the CPAN are divided into 24 broad chapters based on their purpose, such as Internationalization and Locale; Archiving, Compression, And Conversion; and Mail and Usenet News. Finally, the natural hierarchy of Perl module names (such as ) can sometimes be used to browse modules in the CPAN.
If you are ready to push your Perl scripts to production servers and are looking to meet your commercial support requirements, consider getting Active Perl Business Edition or Enterprise Edition.