This distribution doesn't create a directory and extracts its content into this directory. Instead, it creates more than one directories (some of which are probably system-specific hidden files/directories), or it spews its content into the current directory, making it really hard/annoying to remove the unpacked package.
Pack the distribution with a proper command such as "make dist" and "./Build dist", or use a distribution builder such as Dist::Zilla, Dist::Milla, Minilla.
The file "MANIFEST" is missing from this distribution. The MANIFEST lists all files included in the distribution.
Add a MANIFEST to the distribution. Your buildtool should be able to autogenerate it (eg "make manifest" or "./Build manifest")
|has meta yml||
Add a META.yml to the distribution. Your buildtool should be able to autogenerate it.
Makefile.PL and/or Build.PL are missing. This makes installing this distribution hard for humans and impossible for automated tools like CPAN/CPANPLUS/cpanminus.
Add a Makefile.PL (for ExtUtils::MakeMaker/Module::Install) or a Build.PL (for Module::Build and its friends), or use a distribution builder such as Dist::Zilla, Dist::Milla, Minilla.
The distribution hasn't got a Changelog (named something like m/^chang(es?|log)|history$/i. A Changelog helps people decide if they want to upgrade to a new version.
Add a Changelog (best named 'Changes') to the distribution. It should list at least major changes implemented in newer versions.
This distribution doesn't contain either a file called 'test.pl' or a directory called 't'. This indicates that it doesn't contain even the most basic test-suite. This is really BAD!
|has license in source file||
Does not have license information in any of its source files
Add =head1 LICENSE and the text of the license to the main module in your code.
|manifest matches dist||
MANIFEST does not match the contents of this distribution.
Run a proper command ("make manifest" or "./Build manifest", maybe with a force option), or use a distribution builder to generate the MANIFEST. Or update MANIFEST manually.
|has abstract in pod||
No abstract (short description of a module) is found in pod from this distribution.
Provide a short description in the NAME section of the pod (after the module name followed by a hyphen) at least for the main module of this distribution.
This distribution does not 'use strict;' (or its equivalents) in all of its modules. Note that this is not about the actual strictness of the modules. It's bad if nobody can tell whether the modules are strictly written or not, without reading the source code of your favorite clever module that actually enforces strictness. In other words, it's bad if someone feels the need to add 'use strict' to your modules.
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.
|package version matches dist version||
None of the package versions in this distribution matches the distribution version.
Fix the version(s).
|has tests in t dir||
Add tests or move tests.pl to the t/ directory!
There is more than one .pm file in the base dir, or the .pm files are not in lib/ directory.
Move your *.pm files in a directory named 'lib'. The directory structure should look like 'lib/Your/Module.pm' for a module named 'Your::Module'.
|meta yml has license||
This distribution does not have a license defined in META.yml.
|has known license in source file||
Add =head1 LICENSE and/or the proper text of the well-known license to the main module in your code.
This distribution is not required by another distribution by another author.
Convince / force / bribe another CPAN author to use this distribution.
Excellent. Your distribution passes all the experimental metrics.