Kwalitee Issues


Add a Changelog (best named 'Changes') to the distribution. It should list at least major changes implemented in newer versions.


Upgrade the bundled version of Module::Install to the most current release. Alternatively, you can switch to another build system / installer that does not suffer from this problem. (ExtUtils::MakeMaker, Module::Build both of which have their own set of problems.)


Add 'use strict' (or its equivalents) to all modules, or convince us that your favorite module is well-known enough and people can easily see the modules are strictly written.

Error: Language::Haskell, Language::Haskell_in, Module::Install::Base, Module::Install::Fetch, Module::Install::WriteAll


Split the distribution, or fix the version numbers to make them consistent (use the highest version number to avoid version downgrade).

Error: 0.01,0.02


Add a META.json to the distribution. Your buildtool should be able to autogenerate it.


If you are using Build.PL define the {requires}{perl} = VERSION field. If you are using MakeMaker (Makefile.PL) you should upgrade ExtUtils::MakeMaker to 6.48 and use MIN_PERL_VERSION parameter. Perl::MinimumVersion can help you determine which version of Perl your module needs.


Move your *.pm files in a directory named 'lib'. The directory structure should look like 'lib/Your/' for a module named 'Your::Module'. If you need to provide additional files, e.g. for testing, that should not be considered for Kwalitee, then you should look at the 'provides' map in META.yml to limit the files scanned; or use the 'no_index' map to exclude parts of the distribution.

Error: hugs98-Nov2003/src/, hugs98-Nov2003/src/inc/Module/Install/, hugs98-Nov2003/src/inc/Module/Install/, hugs98-Nov2003/src/inc/Module/Install/, hugs98-Nov2003/src/inc/Module/Install/, hugs98-Nov2003/src/inc/Module/Install/


Add 'use warnings' (or its equivalents) to all modules (this will require perl > 5.6), or convince us that your favorite module is well-known enough and people can easily see the modules warn when something bad happens.

Error: Language::Haskell, Language::Haskell, Language::Haskell::API, Language::Haskell_in, Module::Install::Base, Module::Install::Fetch, Module::Install::Makefile, Module::Install::Win32, Module::Install::WriteAll


This is not a critical issue. Currently mainly informative for the CPANTS authors. It might be removed later.


Add all modules contained in this distribution to the META.yml field 'provides'. Module::Build or Dist::Zilla::Plugin::MetaProvides do this automatically for you.


Add a 'repository' resource to the META.yml via 'meta_add' accessor (for Module::Build) or META_ADD parameter (for ExtUtils::MakeMaker).


Name Abstract Version View
Language::Haskell Perl bindings to Haskell 0.01 metacpan
Language::Haskell::API Haskell interpreter API metacpan
Module::Install::Base metacpan
Module::Install::Fetch 0.01 metacpan
Module::Install::Makefile 0.01 metacpan
Module::Install::Win32 0.02 metacpan
Module::Install::WriteAll metacpan


Name File View
Module::Install::Base::FakeAdmin hugs98-Nov2003/src/inc/Module/Install/ metacpan

Other Files

MANIFEST metacpan
META.yml metacpan
Makefile.PL metacpan
README metacpan
hugs98-Nov2003/src/META.yml metacpan