++ed by:

2 PAUSE user(s)
1 non-PAUSE user(s).

Christian Walde
and 1 contributors


minicpan_webserver - run a CPAN::Mini web server on the command line


version 0.58


First you must install CPAN::Mini and create a local copy of CPAN using minicpan. Then you may run minicpan_webserver and search and browse Mini CPAN at http://localhost:2963/. The listening port can be configured with --port command line option.

  % minicpan_webserver
  % minicpan_webserver --port 8090


This program provides a web server that allows you to search and browse Mini CPAN.


Real Author Names

CPAN::Mini::Webserver can optionally return the real names of authors instead of an ascii representation of them. This depends on the file 'authors/00whois.xml' being mirrored from CPAN. CPAN::Mini doesn't do this by default. You can tell it to mirror this file by putting the following line in your .minicpanrc:

  also_mirror: authors/00whois.xml

Cache Directory

CPAN::Mini::Webserver uses App::Cache internally to cache index data about the cpan mirror. The directory it defaults to is inside the user's home dir, but by adding this to .minicpanrc it can be configured:

  cache_dir: /tmp/your/cache/dir

Full-Text Indexing

CPAN::Mini::Webserver normally only indexes author, module and distribution names for its search, but it can be configured to inspect the tarballs in the cpan mirror and do a full-text index of the POD inside them. Naturally this is not advised for big mirrors as it is very memory-intensive. It can be enabled by adding this to .minicpanrc:

  full_text: 1

Subroutine Indexing

When full text indexing is enabled, indexing of subroutines via PPI can be enabled additionally. This will add a checkbox to the search field, restricting the autocomplete, as well as search results to subs found in packages. It can be enabled by adding this to .minicpanrc:

  index_subs: 1

On smaller mirrors it can be useful to have a side bar with all present packages on the left. This can be enabled by adding the following to .minicpanrc:

  side_bar: 1

Base Url

Sometimes it is desirable to host CMW not at an url root, but at an arbitrary path inside it. For that purpose a base_url parameter can be set in in .minicpanrc to any string that will be prepended to all urls inside the application (a trailing / is expected, but not enforced):

  base_url: /v2/cgi-bin/docs/server.cgi/

Doc Mode

Sometimes it can be desirable to have CMW display only POD documentation and not the underlying code. This can be achieved by setting the doc_mode parameter in .minicpanrc:

  doc_mode: 1


Christian Walde <walde.christian@googlemail.com>


  • Leon Brocard <acme@astray.com>

  • Christian Walde <walde.christian@googlemail.com>


This software is copyright (c) 2012 by Christian Walde.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.