Thomas Klausner wrote:

The metric will be called prereq_matches_use and shall check if all the modules used in a dist are also listed as a prereq. (prereq is either gatherd directly from Meta.YMLs 'requires', by parsing Build.PL or Makefile.PL)

As you might know this is quite tricky, because some modules live in strange dists (e.g. HTTP::Request -> libwww-perl) and some modules are in Core (I'll check this with Module::CoreList).

The first implementation 'simply' selects all distinct dists from all modules (of which CPANTS know which dist they are in..) used in a dist, and compares this with the distinct dists from all listed prereqs.

I have just looked at the latest CPANTS results. I see that all my modules fail this metric... but I am unsure as to why. Consider:

  http://cpants.perl.org/dist/prereq/Integer-Partition

I agree, it's probably best to list Carp, but do I really declare pragmas like 'strict' and 'vars'? How many ISPs remove *them*?

Does the metric include modules used in the test suite? I write my test suites to deal gracefully with missing Test modules.

David

Reply via email to