Perl 5 version 8.3 documentation



cpan - easily interact with CPAN from the command line


  1. # with arguments, installs specified modules
  2. cpan module_name [ module_name ... ]
  3. # with switches, installs modules with extra behavior
  4. cpan [-cimt] module_name [ module_name ... ]
  5. # without arguments, starts CPAN shell
  6. cpan
  7. # without arguments, but some switches
  8. cpan [-ahrv]


This script provides a command interface (not a shell) to

Meta Options

These options are mutually exclusive, and the script processes them in this order: [ahvr]. 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 autobundle with CPAN::Shell->autobundle.

  • -h

    Prints a help message.

  • -r

    Recompiles dynamically loaded modules with CPAN::Shell->recompile.

  • -v

    Print the script version and version.

Module options

These options are mutually exclusive, and the script processes them in alphabetical order.

  • c

    Runs a `make clean` in the specified module's directories.

  • i

    Installed the specified modules.

  • m

    Makes the specified modules.

  • t

    Runs a `make test` on the specified modules.


  1. # print a help message
  2. cpan -h
  3. # print the version numbers
  4. cpan -v
  5. # create an autobundle
  6. cpan -a
  7. # recompile modules
  8. cpan -r
  9. # install modules
  10. cpan -i Netscape::Booksmarks Business::ISBN


* add options for other CPAN::Shell functions autobundle, clean, make, recompile, test


* none noted


Most behaviour, including environment variables and configuration, comes directly from


brian d foy <>