FREEDOM251

Freedom251 › Package Managers

cpan

by cpan

Free plan LinuxMacWindows

Visit cpan Alternatives Pricing

cpan's own site

What cpan is

cpan is a free command-line client for working with CPAN through CPAN.pm. It runs on Linux, macOS, and Windows and handles Perl modules and Perl distributions, commonly distributed as .tar.gz archives. Supplying module names installs them, with installation implied by default; running cpan without arguments opens the CPAN.pm shell. The client lists installed or outdated modules and displays module details and maintainers. It can build modules, run tests, clean module directories, and recompile dynamically loaded modules. Users can choose a mirror for one run, search for faster mirrors, or ping configured mirrors for a report. The -I option loads local::lib for local library paths. Dependency resolution and offline installation are supported. Documentation marks the dry-run and warning options as unimplemented. It also cautions that blindly upgrading every installed module can cause breakage and recommends keeping a backup. The script may be redistributed under Perl’s terms.

Who it suits

cpan suits Perl users who manage modules from a terminal on Linux, macOS, or Windows. It is useful when dependency handling, offline installation, mirror selection, or module testing are needed.

What it does well

  • Free command-line access to CPAN
  • Runs on Linux, macOS, and Windows
  • Resolves dependencies and supports offline installation
  • Builds modules and runs their tests
  • Provides mirror and module inspection tools

What to know first

  • Dry-run option is unimplemented
  • Warning option is unimplemented
  • Blind upgrades can break installed modules
  • Backup is recommended before broad upgrades

Plans

PlanBilled and limitsPrice
FreeCommand-line interface to CPAN · installs and manages Perl modulesFree

As perldoc.perl.org lists them, read 11 Oct 2026. The maker's own page has the final word.

Verdict

cpan provides a broad terminal workflow for installing, inspecting, building, and testing Perl modules. Its documented unimplemented options and upgrade warning are important considerations for maintenance tasks.

Facts from cpan's own pages

Build and test
The client can make modules, run their tests, clean module directories, and recompile dynamically loaded modules. · perldoc.perl.org, 11 Oct 2026
Dependency resolution
Yes · perldoc.perl.org, 22 Sept 2026
Founded
1995 · perldoc.perl.org, 28 Sept 2026
Free plan
Yes · perldoc.perl.org, 22 Sept 2026
Install modules
With module names as arguments, cpan installs the specified modules; the install switch is implied by default. · perldoc.perl.org, 11 Oct 2026
Interactive shell
Running cpan without arguments starts the CPAN.pm shell. · perldoc.perl.org, 11 Oct 2026
License
The script may be redistributed under the same terms as Perl itself. · perldoc.perl.org, 11 Oct 2026
Limits
The dry-run option and warning option are marked unimplemented in the documentation. · perldoc.perl.org, 11 Oct 2026
Local libraries
The -I option loads local::lib for using local library paths. · perldoc.perl.org, 11 Oct 2026
Mirrors
Users can specify mirrors for one run, find faster mirrors, or ping configured mirrors for a report. · perldoc.perl.org, 11 Oct 2026
Module inspection
The client can list installed modules, show out-of-date modules, and display module details and maintainers. · perldoc.perl.org, 11 Oct 2026
Offline installation
Yes · perldoc.perl.org, 22 Sept 2026
Package formats
Perl modules; Perl distributions,commonly .tar.gz archives · perldoc.perl.org, 22 Sept 2026
Purpose
The cpan script provides a command interface to CPAN and uses CPAN.pm to do the work. · perldoc.perl.org, 11 Oct 2026
Risk
The documentation warns that upgrading all installed modules blindly can break things and recommends keeping a backup. · perldoc.perl.org, 11 Oct 2026
Supported platforms
Linux,macOS,Windows · perldoc.perl.org, 22 Sept 2026

Where cpan stands on Freedom251

Look at these too