FAQ's answered

What third-party sites does MetaCPAN use?

  • CPAN is where all the Perl modules live. MetaCPAN 'just' indexes those files.
  • Perlybook provides the MOBI and EPUB download capabilities. MetaCPAN provides direct links to download the POD in the respective formats.
  • CPAN Testers collect test reports of the CPAN modules. MetaCPAN show the number of test reports and links to the tests.
  • CPANTS provide Kwalitee metrics for CPAN modules. MetaCPAN links to the respective pages on the CPANTS site.
  • CPAN Ratings allows users to give stars and review CPAN distributions. MetaCPAN show the average rating using stars and links to the reviews.
  • search.cpan.org is another search engine for the same data. It is older, but the source code has not been published. MetaCPAN links to the respective page of each module/distribution.
  • RT is an installation of Request Tracker that provides a default bug~ and issue-tracking system for every CPAN distribution. Unless the author of the module configured it otherwise MetaCPAN will link the respective RT Queue of every distribution.
  • GitHub is the most popular public version control system among Perl module developers. Many distributions indicate it as their public VCS. Some of them even mark GitHub as their preferred issue tracking system. MetaCPAN links to the GitHub repository and bug tracking system of each distributions if the author has included the information in the META files.

How to list all the Plack Middleware?

Search for module:Plack::Middleware

In general, how to list all the modules in a name-space?

Type in module: and the namespace such as Catalyst::Plugin, Dancer::Plugin, Mojolicious::Plugin, or Perl::Critic::Policy.

A non-comprehensive list of special search expressions:

These search-terms can be combined with each other and regular search term.

Wildcards: ? matches a single character, * matches any number of characters ( e.g. version:1.* and version:1.? )

Why can't I find a specific module?

See our missing module page.

How can I get involved / who is involved?

Where can I find the API docs?

The API docs can be found in the API repository. API requests need to be sent to api.metacpan.org.

How can I try the API?

https://explorer.metacpan.org/ is an easy way to try sending queries to the back-end.

Why can't I link my PAUSE account?

Is your PAUSE email set up?

If you are a module author you can link your PAUSE account to your MetaCPAN account. But you must configure the email address forwarding in your PAUSE account for this to work.

Do you have multiple accounts?

If you can only connect your account to github or PAUSE (e.g. connecting to one disconnects the other), it is usually because you have 2 accounts.

To fix this

  • log in with one of them
  • go to identities and disconnect that account
  • log in with the other and connect to the first

Still have problems? Favorites not displaying on author page?

Please see this discussion.

Oops! I made a mistake. Can you delete my module?

Requests to have modules removed from the CPAN should be directed at the PAUSE admins. Keep in mind that, if a module contains sensitive information, just deleting it from your CPAN directory is not enough, as it will still reside in the BackPAN.

If the PAUSE admins approve your request, have them CC noc@metacpan.org so that we can push the right buttons to have your work removed from MetaCPAN as well.

Can I automatically redirect links pointing at search.cpan.org to metacpan.org?

For Chrome users, the MetaCPAN redirect extension will automatically rewrite search.cpan.org links to MetaCPAN.

You can accomplish the same thing by modifying your hosts file (Note: these IP addresses may have to change over time, as we move servers, so come back here to check, if things stop working). Add the following lines and all links to search.cpan.org (and links to source code) will be redirected to MetaCPAN: search.cpan.org cpansearch.perl.org

If you do this, be sure to point cpanm to another mirror, as it defaults to search.cpan.org. Here's how:

export PERL_CPANM_OPT="--mirror http://www.cpan.no/" # Insert your closest mirror here.

Can I manually redirect links pointing at search.cpan.org to metacpan.org?

If you find yourself to be on search.cpan.org and you want to get redirected to corresponding metacpan page, just change the domain name with search.mcpan.org. For example:


has to be changed to:


What is the relation of MetaCPAN to author-*.json and the data in a PAUSE account?

Every CPAN module author has an account on PAUSE. That account has some profile data in it (full name, ascii name, e-mail, and homepage). Authors can edit those at Edit Account Info. This information is collected and distributed by PAUSE via the 00whois.xml file.

In addition PAUSE users can upload a file called author.json or author-1.0.json to the root of their PAUSE account with other information.

When someone asks MetaCPAN for information about an author (a PAUSE account), MetaCPAN will provide the data from the MetaCPAN account that was associated with the given PAUSE account. If no such association exists then MetaCPAN will default to the data found in the PAUSE account of the user (via the 00whois.xml file), and to the content of the latest author-*.json file found in the PAUSE account of that user. (If there is such a file.)

Once a PAUSE account is connected to a MetaCPAN account, the information in the MetaCPAN account is initialized from those sources (00whois.xml and author-*.json) and from that point MetaCPAN disregards any changes made to those files.

As of October 2014 search.cpan.org uses only the data in the PAUSE account (via the 00whois.xml). It does not use the data from the author.json files and from MetaCPAN. Thus it might show a different e-mail address or homepage of a user then what MetaCPAN does.

If you, as a PAUSE author would like to keep them in sync, you can always export your MetaCPAN account information in json format by accessing http://api.metacpan.org/author/PAUSEID (replacing the word PAUSEID by your own PAUSEID). Then you can upload the result as author-*.json with a higher version number than the last one you uploaded. The PAUSE account information need to be updated manually via Edit Account Info.