The cpan and cpanm command allow you to interact with CPAN. cpan is installed with Perl, cpanm might also be already included in your system, otherwise consult this page to see how to install cpanm.
The CPAN shell lets you find remote distributions by name. First you need to enter the CPAN shell:
$ cpan
cpan shell -- CPAN exploration and modules installation (v2.05)
Enter 'h' for help.
Then, you can search with d
command followed with your query (which can be
regular expression):
cpan[1]> d /Path-Tiny/
Reading '/home/tynovsky/.cpan/Metadata'
Database was generated on Sun, 04 Oct 2015 12:41:02 GMT
Distribution DAGOLDEN/Path-Tiny-0.072.tar.gz
Distribution DAGOLDEN/Types-Path-Tiny-0.005.tar.gz
Distribution DMUEY/File-Path-Tiny-0.7.tar.gz
Distribution ETHER/MooseX-Types-Path-Tiny-0.011.tar.gz
4 items found
You’ll be probably mostly searching for distributions online at MetaCPAN or CPAN Search.
The cpanm
command downloads, tests and installs the distribution and any
necessary dependencies.
$ cpanm Path::Tiny
--> Working on Path::Tiny
Fetching http://www.cpan.org/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.072.tar.gz ... OK
Configuring Path-Tiny-0.072 ... OK
Building and testing Path-Tiny-0.072 ... OK
Successfully installed Path-Tiny-0.072
1 distribution installed
Now when you write your code, you can use the modules from installed distributions.
#!/usr/bin/env perl
use Path::Tiny;
print Path::Tiny->cwd, "\n";
Use command cpan -a
to list all installed distributions together with their
version. As a side effect, the list is written to Bundle/Snapshot*.pm file.
The command cpanm --uninstall
can be used to remove distributions that you
have installed.
$ cpanm --uninstall Path::Tiny
Path::Tiny contains the following files:
.../lib/site_perl/5.20.2/Path/Tiny.pm
.../man/man3/Path::Tiny.3
Are you sure you want to uninstall Path::Tiny? [y] y
Unlink: .../lib/site_perl/5.20.2/Path/Tiny.pm
Unlink: .../man/man3/Path::Tiny.3
Unlink: .../lib/site_perl/.../auto/Path/Tiny/.packlist
Successfully uninstalled Path::Tiny
To find out how to use the modules within the installed distributions, you can
use perldoc
command to read the documentation which was automatically
installed with the distribution.
You can view the documentation for your installed distributions in your browser
if you install a tool for it (from CPAN of course). One of such tools is
Pod::POM::Web
:
$ cpanm Pod::POM::Web
--> Working on Pod::POM::Web
Fetching http://www.cpan.org/authors/id/D/DA/DAMI/Pod-POM-Web-1.20.tar.gz ... OK
==> Found dependencies: ...
# ... here it works on dependencies
Successfully installed Pod-POM-Web-1.20
20 distributions installed
$ perl -MPod::POM::Web -e server
And now you can visit http://localhost:8080
in your browser and browse the
documentation of installed modules (and of perl itself).
If you wish to audit a distribution’s contents without installing it, you can
use the cpanm --look
command. It downloads and unpacks the distribution and
opens the directory with your shell.
$ cpanm --look Try::Tiny
--> Working on Try::Tiny
Fetching http://www.cpan.org/authors/id/D/DO/DOY/Try-Tiny-0.22.tar.gz ... OK
Entering /home/tynovsky/.cpanm/work/1443994273.5522/Try-Tiny-0.22 with /bin/bash
This guide only shows the basics of using CPAN related commands to download and use the distributions published there. For information on what’s inside a distribution and how to use one you’ve installed, see the next section.
For a complete reference of cpan
and cpanm
commands see the following
links:
Plus you can read FAQ related to CPAN using command perldoc -q cpan
.