Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

domm (4030)

  (email not shown publicly)

Just in case you like to know, I'm currently full-time father of 2 kids, half-time Perl hacker, sort-of DJ, bicyclist, no longer dreadlocked and 33 years old

I'm also head of [], maintainer of the CPANTS [] project, member of the TPF Grants Commitee [] and the YAPC Europe Foundation [].

I've got stuff on CPAN [], held various talks [] and organised YAPC::Europe 2007 in Vienna [].

Journal of domm (4030)

Tuesday September 07, 2004
03:03 PM

more CPANTS data (and another release)

[ #20771 ]

A new version of Module::CPANTS::Generator is on it's way to CPAN, here are some data samples:
(btw, you can get the sqlite.db from

Highest Kwalitee now is 11, new indicators are:
* has_tests (checks if there is a file or a dir t
* proper_libs (checks if there is dir called 'lib' or a single *.pm file in the topdir)

Oh, the data:

sqlite> select kwalitee,count(kwalitee) as cnt from kwalitee group by
   ...>           kwalitee order by kwalitee;
kwalitee    cnt
----------  ----------
0           32
1           3
2           12
3           61
4           47
5           59
6           110
7           521
8           1695
9           3411
10          1654
11          155
sqlite> select count(*) from kwalitee where has_tests=0;
sqlite> select count(*) from kwalitee where proper_libs=0;

Another new thing is required_by, which lists the number of other dists requiring a module included in a given dist. To calculate this, there is a new table called modules which list which modules are included in a distribution.

sqlite> select dist,required_by from distribution where required_by > 0 order by required_by desc limit 15;
dist              required_by
----------------  -----------
Test-Simple-0.47  1021
DBIx-Abstract-1.  914
libwww-perl-5.10  655
libwww-perl-5.77  446
libwww-perl-5.80  446
libwww-perl-5.53  444
PathTools-3.00    207
Data-Dumper-2.12  149
HTML-Parser-3.36  149
Digest-MD5-2.33   145
Scalar-List-Util  130
XML-Parser-2.34   98
Template-Toolkit  91
Template-Toolkit  90
POE-0.29          87

Some of this data is a bit spoiled, as, eg DBIx::Abstract includes Test::More in its dist and thus gets a lot of counts it actually doesn't deserve. I'll have to add some more checks to prevent this...

Other CPANTS news:
* Gabor hacked together a quick web frontend using Maypole available here:

* We are thinking of renaming the dist from "Module::CPANTS" to "CPANTS". Any opinions on this?

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • It goes to 11. :-)

    But this will be a dis-incentive to add any more metrics. :-(

  • * We are thinking of renaming the dist from "Module::CPANTS" to "CPANTS". Any opinions on this?

    Top level namespaces bad. (although i'm guilty of it myself :)
    Perhaps 'Module::*' isn't the best namespace for it, but perhaps 'CPAN::*' is.. there's currently 27 modules in the CPAN::* namespace by 10 different authors...

  • CPAN::CPANTS ? :) Herr Kane makes a good point about CPAN::* but, this is the system we live inside of. I'm really glad to see you getting back to working on it :)

    One thing though, I'm sure I'm not the only one whom 'kwalitee' drives bonkers. I know this is a Schwernism but, it just seems to cutesy for anyone to take seriously. I get enough K's up here in Konsonantland. :)