| buildtool_not_executable |
The build tool (Build.PL/Makefile.PL) is executable. This is bad because you should specify which perl you want to use while installing. (defined in Module::CPANTS::SiteKwalitee::Files) |
1801 (4.18 %) |
7387 (4.66 %) |
22583 (5.68 %) |
| distname_matches_name_in_meta |
The distribution name (eg. 'Foo-Bar' of Foo-Bar-1.42.tar.gz) does not match the 'name' field in META files. (defined in Module::CPANTS::SiteKwalitee::Distname) |
183 (0.42 %) |
595 (0.38 %) |
2876 (0.72 %) |
| extractable |
This distribution doesn't extract well due to several reasons such as unsupported archive type (CPANTS only supports tar.gz, tgz and zip archives), file permissions, broken links, invalid filenames, and so on. Most of other kwalitee metrics should be ignored. (defined in Module::CPANTS::SiteKwalitee::Extraction) |
53 (0.12 %) |
161 (0.1 %) |
932 (0.23 %) |
| extracts_nicely |
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. (defined in Module::CPANTS::SiteKwalitee::Extraction) |
254 (0.59 %) |
474 (0.3 %) |
1567 (0.39 %) |
| has_abstract_in_pod |
No abstract (short description of a module) is found in pod from this distribution. (defined in Module::CPANTS::Kwalitee::Pod) |
2007 (4.66 %) |
6332 (4 %) |
17339 (4.36 %) |
| has_buildtool |
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. (defined in Module::CPANTS::Kwalitee::Files) |
475 (1.1 %) |
972 (0.61 %) |
3117 (0.78 %) |
| has_changelog |
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. (defined in Module::CPANTS::Kwalitee::Files) |
4141 (9.61 %) |
13517 (8.53 %) |
36497 (9.18 %) |
| has_human_readable_license |
This distribution does not have a license defined in the documentation or in a file called LICENSE (defined in Module::CPANTS::Kwalitee::License) |
4365 (10.13 %) |
14172 (8.95 %) |
42127 (10.59 %) |
| has_license_in_source_file |
Does not have license information in any of its source files (defined in Module::CPANTS::Kwalitee::License) |
6250 (14.51 %) |
20942 (13.22 %) |
58772 (14.78 %) |
| has_manifest |
The file "MANIFEST" is missing from this distribution. The MANIFEST lists all files included in the distribution. (defined in Module::CPANTS::Kwalitee::Files) |
1033 (2.4 %) |
2726 (1.72 %) |
7309 (1.84 %) |
| has_meta_yml |
The file "META.yml" is missing from this distribution. META.yml is needed by people maintaining module collections (like CPAN), for people writing installation tools, or just people who want to know some stuff about a distribution before downloading it. (defined in Module::CPANTS::Kwalitee::Files) |
5228 (12.13 %) |
16305 (10.29 %) |
49842 (12.53 %) |
| has_proper_version |
The version number isn't a number. It probably contains letter besides a leading 'v', which it shouldn't (defined in Module::CPANTS::SiteKwalitee::DistVersion) |
400 (0.93 %) |
1463 (0.92 %) |
6945 (1.75 %) |
| has_readme |
The file "README" is missing from this distribution. The README provides some basic information to users prior to downloading and unpacking the distribution. (defined in Module::CPANTS::Kwalitee::Files) |
3010 (6.99 %) |
11415 (7.21 %) |
27656 (6.95 %) |
| has_tests |
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! (defined in Module::CPANTS::Kwalitee::Files) |
2240 (5.2 %) |
6624 (4.18 %) |
15816 (3.98 %) |
| has_version |
The distribution filename (eg. Foo-Bar-1.42.tar.gz) does not include a version number (or something that looks like a reasonable version number to CPAN::DistnameInfo) (defined in Module::CPANTS::SiteKwalitee::DistVersion) |
166 (0.39 %) |
235 (0.15 %) |
861 (0.22 %) |
| main_module_version_matches_dist_version |
The version and/or name of the main module in this distribution doesn't match the distribution version and/or name. (defined in Module::CPANTS::SiteKwalitee::Version) |
3323 (7.71 %) |
10909 (6.89 %) |
32164 (8.09 %) |
| manifest_matches_dist |
MANIFEST does not match the contents of this distribution. (defined in Module::CPANTS::Kwalitee::Manifest) |
3289 (7.63 %) |
11292 (7.13 %) |
28225 (7.1 %) |
| meta_json_conforms_to_known_spec |
META.json does not conform to any recognised META Spec. (defined in Module::CPANTS::Kwalitee::MetaYML) |
216 (0.5 %) |
1024 (0.65 %) |
2604 (0.65 %) |
| meta_json_is_parsable |
The META.json file of this distribution could not be parsed by the version of JSON parser CPANTS is using. (defined in Module::CPANTS::Kwalitee::MetaYML) |
39 (0.09 %) |
136 (0.09 %) |
229 (0.06 %) |
| meta_yml_conforms_to_known_spec |
META.yml does not conform to any recognised META.yml Spec. (defined in Module::CPANTS::Kwalitee::MetaYML) |
3087 (7.16 %) |
11286 (7.13 %) |
32017 (8.05 %) |
| meta_yml_is_parsable |
The META.yml file of this distribution could not be parsed by the version of CPAN::Meta::YAML.pm CPANTS is using. (defined in Module::CPANTS::Kwalitee::MetaYML) |
170 (0.39 %) |
590 (0.37 %) |
1934 (0.49 %) |
| no_broken_auto_install |
This distribution uses an old version of Module::Install. Versions of Module::Install prior to 0.89 do not detect correctly that CPAN/CPANPLUS shell is used. (defined in Module::CPANTS::Kwalitee::BrokenInstaller) |
439 (1.02 %) |
1819 (1.15 %) |
5947 (1.5 %) |
| no_broken_module_install |
This distribution uses an obsolete version of Module::Install. Versions of Module::Install prior to 0.61 might not work on some systems at all. Additionally if your Makefile.PL uses the 'auto_install()' feature, you need at least version 0.64. Also, 1.04 is known to be broken. (defined in Module::CPANTS::Kwalitee::BrokenInstaller) |
347 (0.81 %) |
1392 (0.88 %) |
4036 (1.01 %) |
| no_files_to_be_skipped |
This distribution contains files that should be skipped by MANIFEST.SKIP. (defined in Module::CPANTS::Kwalitee::Files) |
702 (1.63 %) |
3043 (1.92 %) |
9422 (2.37 %) |
| no_generated_files |
This distribution has files/directories that should be generated at build time, not distributed by the author. (defined in Module::CPANTS::SiteKwalitee::Files) |
334 (0.78 %) |
1312 (0.83 %) |
3351 (0.84 %) |
| no_mymeta_files |
This distribution contains MYMETA.* files which should be used only locally. This metric should be integrated into 'no_generated_files' eventually, but as MYMETA.* files are recent inventions, you might need to take special care if MANIFEST.SKIP exists in your distribution. Hence this metric. (defined in Module::CPANTS::SiteKwalitee::MyMeta) |
367 (0.85 %) |
1681 (1.06 %) |
4771 (1.2 %) |
| no_pax_headers |
This distribution is archived with PAX extended headers, which may be useful under some environments, but may also make extraction fail under other environments (Archive::Tar ignores PAX information as well). (defined in Module::CPANTS::SiteKwalitee::Extraction) |
698 (1.62 %) |
2976 (1.88 %) |
3988 (1 %) |
| no_pod_errors |
The documentation for this distribution contains syntactic errors in its POD. Note that this metric tests all .pl, .pm and .pod files, even if they are in t/. See 'pod_message' in the dist error view for more info. (defined in Module::CPANTS::SiteKwalitee::Pod) |
3196 (7.42 %) |
15781 (9.96 %) |
48152 (12.11 %) |
| no_symlinks |
This distribution includes symbolic links (symlinks). This is bad, because there are operating systems that do not handle symlinks. (defined in Module::CPANTS::Kwalitee::Files) |
36 (0.08 %) |
110 (0.07 %) |
279 (0.07 %) |
| portable_filenames |
This distribution has at least one file with non-portable characters in its filename, which may cause problems under some environments. (defined in Module::CPANTS::SiteKwalitee::Files) |
80 (0.19 %) |
457 (0.29 %) |
1430 (0.36 %) |
| prereq_matches_use |
This distribution uses a module or a dist that's not listed as a prerequisite. (defined in Module::CPANTS::SiteKwalitee::Prereq) |
3368 (7.82 %) |
14846 (9.37 %) |
36343 (9.14 %) |
| use_strict |
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. (defined in Module::CPANTS::Kwalitee::Uses) |
4691 (10.89 %) |
20395 (12.88 %) |
60682 (15.26 %) |