CPAN

[3] It is based on the CTAN model and began as a place to unify the structure of scattered Perl archives.

Some of these perform bootstrapping tasks, such as ExtUtils::MakeMaker,[5] which is used to create Makefiles for building and installing other extension modules; others, like List::Util,[6] are merely commonly used.

CPAN's main purpose is to help programmers locate modules and programs not included in the Perl standard distribution.

The official search.cpan.org includes textual search, a browsable index of modules, and extracted copies of all distributions currently on the CPAN.

On 16 May 2018, the Perl Foundation announced that search.cpan.org would be shut down on 29 June 2018 (after 19 years of operation), due to its aging codebase and maintenance burden.

This enables the authors to have their modules tested on many platforms and environments to which they otherwise lack access, thus improving portability, and quality.

After a short configuration process and mirror selection, it uses tools available on the user's computer to automatically download, unpack, compile, test, and install modules.

CPANPLUS separates the back-end work of downloading, compiling, and installing modules from the interactive shell used to issue commands.

It supports several advanced features, such as cryptographic signature checking, test result reporting, and uninstalling a distribution.

It recognizes the cpanfile format for specifying prerequisites, useful in ad-hoc Perl projects that may not be designed for CPAN installation.

Each of these modules can check a distribution's dependencies and recursively install any prerequisites, either automatically or with individual user approval.

CPAN's use of arbitrated name spaces, a testing regime and a well defined documentation style makes it unique.

In 2003, the www.cpan.org domain name was redirected to Matt's Script Archive, a site infamous in the Perl community for having badly written code.

Even outside the Acme:: hierarchy, some modules are still written largely for amusement; one example is Lingua::Romana::Perligata, which can be used to write Perl programs in a subset of Latin.

The JSAN is a near-direct port of the CPAN infrastructure for use with the JavaScript language, which for most of its lifespan did not have a cohesive "community".

CRAN, the Comprehensive R Archive Network, is a set of mirrors hosting the R language distribution(s), documentation, and contributed extensions.

CPAN logo