15.1 The Comprehensive Perl Archive Network
The CPAN is the result of many volunteers
working together, many of whom were originally operating their own
little (or big) Perl FTP sites back before that Web thing came along.
They got coordinated on their perl-packrats
mailing list in late 1993 and decided that disk was
getting cheap enough that the same information should be replicated
on all sites, rather than having specialization on each site. The
idea took about a year to ferment, and Jarkko Hietaniemi established
his Finnish FTP site as the CPAN mothership, from which all other
mirrors could draw their daily or hourly updates.
Part of the work involved rearranging and organizing the separate
archives. Places were established for Perl binaries for non-Unix
architectures, scripts, and Perl's source code
itself. But the modules portion has come to be the largest and most
interesting part of the CPAN.
The modules in the CPAN are organized as a symbolic-link tree in
hierarchical functional categories, pointing to author directories
where the actual files are located. The modules area also contains
indicies that are generally in easy-to-parse-with-Perl formats, such
as the Data::Dumper output for the detailed module
index. Of course, these indicies are all derived automatically from
databases at the master server using Perl programs. (Often, the
mirroring of the CPAN from one server to another is done with a
now-ancient Perl program called mirror.pl.)
From its small start of a few mirror machines, the CPAN has now grown
to over 200 public archives in all corners of the Net, all churning
away updating at least daily, sometimes as frequently as hourly. No
matter where you are in the world, you can find a nearby CPAN mirror
from which to pull the latest goodies.
|