NAME
cpan - easily interact with CPAN from the command line
SYNOPSIS
# with arguments and no switches, installs specified modules
cpan module_name [ module_name ... ]
# with switches, installs modules with extra behavior
cpan [-cfimt] module_name [ module_name ... ]
# without arguments, starts CPAN.pm shell
cpan
# without arguments, but some switches
cpan [-ahrvACDLO]
DESCRIPTION
This script provides a command interface (not a shell) to CPAN. At the
moment it uses CPAN.pm to do the work, but it is not a one-shot command
runner for CPAN.pm.
Meta Options
These options are mutually exclusive, and the script processes them in
this order: [hvCAar]. Once the script finds one, it ignores the
others, and then exits after it finishes the task. The script ignores
any other command line options.
-a Creates the CPAN.pm autobundle with CPAN::Shell->autobundle.
-A module [ module ... ]
Shows the primary maintainers for the specified modules
-C module [ module ... ]
Show the "Changes" files for the specified modules
-D module [ module ... ]
Show the module details. This prints one line for each out-of-date
module (meaning, modules locally installed but have newer versions
on CPAN). Each line has three columns: module name, local version,
and CPAN version.
-L author [ author ... ]
List the modules by the specified authors.
-h Prints a help message.
-O Show the out-of-date modules.
-r Recompiles dynamically loaded modules with CPAN::Shell->recompile.
-v Print the script version and CPAN.pm version.
Module options
These options are mutually exclusive, and the script processes them in
alphabetical order. It only processes the first one it finds.
c Runs a ‘make clean‘ in the specified module’s directories.
f Forces the specified action, when it normally would have failed.
i Installed the specified modules.
m Makes the specified modules.
t Runs a ‘make test‘ on the specified modules.
Examples
# print a help message
cpan -h
# print the version numbers
cpan -v
# create an autobundle
cpan -a
# recompile modules
cpan -r
# install modules ( sole -i is optional )
cpan -i Netscape::Booksmarks Business::ISBN
# force install modules ( must use -i )
cpan -fi CGI::Minimal URI
TO DO
BUGS
* none noted
SEE ALSO
Most behaviour, including environment variables and configuration,
comes directly from CPAN.pm.
SOURCE AVAILABILITY
This source is part of a SourceForge project which always has the
latest sources in CVS, as well as all of the previous releases.
http://sourceforge.net/projects/brian-d-foy/
If, for some reason, I disappear from the world, one of the other
members of the project can shepherd this module appropriately.
CREDITS
Japheth Cleaver added the bits to allow a forced install (-f).
Jim Brandt suggest and provided the initial implementation for the up-
to-date and Changes features.
Adam Kennedy pointed out that exit() causes problems on Windows where
this script ends up with a .bat extension
AUTHOR
brian d foy, "<bdfoy@cpan.org>"
COPYRIGHT
Copyright (c) 2001-2006, brian d foy, All Rights Reserved.
You may redistribute this under the same terms as Perl itself.