The Perl module stats on cpan.org represent a fraction of the modules on the CPAN. search.cpan.org has the full count.
This patch adds a suggested migration to change the data source for Perl modules.
Migration Perl module stats to search.cpan.org.
Ruby gems and PyPI's modules count distributions not namespaces. So CPAN should also match against Distributions (on search.cpan.org) not Modules.
I'm curious to know where search.cpan.org itself gets the stats. The numbers on http://stats.cpantesters.org/statscpan.html are about 4K higher. The larger number (24K) are roughly what I would expect from a quick scan of a (min)cpan mirror:
$find ~/Dropbox/minicpan/ -type f -name *.tar.gz | wc -l
Isn't it wonderful what a horrible thing trying to make some comparative metrics between languages is?
perigrin, searching in that way you won't get all dists, since some files use zip or tar.bz2 or possible even more different formats. As far as i can tell, search.cpan counts the unique release files mentioned in 02_packages (which, since it serves to count namespaces, has duplicates). So, the correct way, which the author is already aware of at this point is to extract the releases mentioned in 02_packages, strip version information and collapse the remainder.