minicpan - uses CPAN::Mini to create or update a local mirror


 minicpan [options]

   -l LOCAL   - where is the local minicpan?     (required)
   -r REMOTE  - where is the remote cpan mirror? (required)
   -d 0###    - permissions (numeric) to use when creating directories
   -f         - check all directories, even if indices are unchanged
   -p         - mirror perl, ponie, and parrot distributions
   -q         - run in quiet mode (don't print status)
   -qq        - run in silent mode (don't even print warnings)
   -c CLASS   - what class to use to mirror (default: CPAN::Mini)
   -C FILE    - what config file to use (default: ~/.minicpanrc)
   -h         - print help and exit
   -v         - print version and exit
   -x         - build an exact mirror, getting even normally disallowed files
   --offline  - operate in offline mode (generally: do nothing)


This simple shell script just updates (or creates) a miniature CPAN mirror as described in CPAN::Mini.


By default, minicpan will read a configuration file to get configuration information. The file is a simple set of names and values, as in the following example:

 local:  /home/rjbs/mirrors/minicpan/
 remote: http://your.favorite.cpan/cpan/
 exact_mirror: 1

minicpan tries to find a configuration file through the following process. It takes the first defined it finds:

  • Use the value specified by -C on the command line

  • Use the value in the CPAN_MINI_CONFIG environment variable

  • Use ~/.minicpanrc

  • Use CPAN/Mini/minicpan.conf

If the selected file does not exist, minicpan does not keep looking.

You can override this process with a config_file method in your subclass.

See CPAN::Mini for a full listing of available options.


Improve command-line options.


Randal Schwartz's original article, which can be found here:


Randal Schwartz <> had the bright idea and wrote the original implementation.

Ricardo SIGNES <> brazenly took the script, made a module and distribution, and slowly allowed it to gain features.

This code was copyrighted in 2004, and is released under the same terms as Perl itself.