Kwalitee Issues

extracts_nicely

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.

Error: More than one top directories are found: os2;Devel;File;LWP;MIME;lwpcook.pod;Term;URI;auto;Data;CPAN;HTML;Net;FreezeThaw.pm;C;LWP.pm;Font;WAIT;WWW;HTTP;Curses.pm

has_readme

Add a README to the distribution. It should contain a quick description of your module and how to install it.

has_manifest

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.

has_buildtool

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.

has_changelog

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

has_tests

Add tests!

has_version

Add a version number to the packed distribution. Or use a buildtool ('make dist' or 'Build dist')

has_proper_version

Remove all letters from the version number. If you want to mark a release as a developer release, use the scheme 'Module-1.00_01'

manifest_matches_dist

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.

Error: Cannot find MANIFEST in dist.

use_strict

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: C::Scan, CPAN::WAIT, Curses, DB, Data::Dumper, Devel::Peek, File::CounterFile, Font::AFM, Font::Metrics::Courier, Font::Metrics::CourierBold, Font::Metrics::CourierBoldOblique, Font::Metrics::CourierOblique, Font::Metrics::Helvetica, Font::Metrics::HelveticaBold, Font::Metrics::HelveticaBoldOblique, Font::Metrics::HelveticaOblique, Font::Metrics::TimesBold, Font::Metrics::TimesBoldItalic, Font::Metrics::TimesItalic, Font::Metrics::TimesRoman, FreezeThaw, HTML::AsSubs, HTML::Entities, HTML::FormatPS, HTTP::Headers, HTTP::Negotiate, HTTP::Status, LWP, LWP::Debug, LWP::IO, LWP::IO, LWP::MemberMixin, LWP::Protocol::file, LWP::Protocol::gopher, LWP::Protocol::mailto, LWP::Simple, LWP::Socket, LWP::UserAgent, MIME::Base64, MIME::QuotedPrint, Term::ReadKey, Term::ReadLine, Term::ReadLine::Perl, URI::Escape, URI::URL::_generic, URI::URL::_login, URI::URL::file, URI::URL::finger, URI::URL::ftp, URI::URL::gopher, URI::URL::http, URI::URL::https, URI::URL::mailto, URI::URL::news, URI::URL::nntp, URI::URL::prospero, URI::URL::rlogin, URI::URL::telnet, URI::URL::tn3270, URI::URL::wais, URI::URL::webster, URI::URL::whois, readline

prereq_matches_use

List all used modules in META.yml requires

Error:

  • Tk

main_module_version_matches_dist_version

Make sure that the main module name and version are the same of the distribution.

no_pod_errors

Remove the POD errors. You can check for POD errors automatically by including Test::Pod to your test suite.

Error: Data/Dumper.pm -- Around line 739: '=item' outside of any '=over' Around line 742: You forgot a '=back' before '=head1' Devel/Peek.pm -- Around line 369: You forgot a '=back' before '=head1' You forgot a '=back' before '=head1' Net/SMTP.pm -- Around line 435: You forgot a '=back' before '=head1' Net/SNPP.pm -- Around line 352: You forgot a '=back' before '=head1'

has_meta_json

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

has_tests_in_t_dir

Add tests or move tests.pl to the t/ directory!

proper_libs

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'. 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: C/Scan.pm, CPAN/WAIT.pm, Curses.pm, Devel/DProf.pm, Data/Dumper.pm, Data/Flow.pm, Devel/Peek.pm, File/CounterFile.pm, File/Listing.pm, Font/AFM.pm, Font/Metrics/Courier.pm, Font/Metrics/CourierBold.pm, Font/Metrics/CourierBoldOblique.pm, Font/Metrics/CourierOblique.pm, Font/Metrics/Helvetica.pm, Font/Metrics/HelveticaBold.pm, Font/Metrics/HelveticaBoldOblique.pm, Font/Metrics/HelveticaOblique.pm, Font/Metrics/TimesBold.pm, Font/Metrics/TimesBoldItalic.pm, Font/Metrics/TimesItalic.pm, Font/Metrics/TimesRoman.pm, FreezeThaw.pm, HTML/AsSubs.pm, HTML/Element.pm, HTML/Entities.pm, HTML/FormatPS.pm, HTML/FormatText.pm, HTML/Formatter.pm, HTML/HeadParser.pm, HTML/LinkExtor.pm, HTML/Parse.pm, HTML/Parser.pm, HTML/TreeBuilder.pm, HTTP/Daemon.pm, HTTP/Date.pm, HTTP/Headers.pm, HTTP/Message.pm, HTTP/Negotiate.pm, HTTP/Request.pm, HTTP/Response.pm, HTTP/Status.pm, LWP.pm, LWP/Debug.pm, LWP/IO.pm, LWP/TkIO.pm, LWP/MediaTypes.pm, LWP/MemberMixin.pm, LWP/Protocol.pm, LWP/Protocol/file.pm, LWP/Protocol/ftp.pm, LWP/Protocol/gopher.pm, LWP/Protocol/http.pm, LWP/Protocol/mailto.pm, LWP/Protocol/nntp.pm, LWP/RobotUA.pm, LWP/Simple.pm, LWP/Socket.pm, LWP/UserAgent.pm, MIME/Base64.pm, MIME/QuotedPrint.pm, Net/Cmd.pm, Net/Config.pm, Net/Domain.pm, Net/DummyInetd.pm, Net/FTP.pm, Net/NNTP.pm, Net/Netrc.pm, Net/PH.pm, Net/POP3.pm, Net/SMTP.pm, Net/SNPP.pm, Net/Telnet.pm, Net/Time.pm, Term/ReadKey.pm, Term/ReadLine.pm, Term/ReadLine/Perl.pm, URI/Escape.pm, URI/URL.pm, URI/URL/_generic.pm, URI/URL/_login.pm, URI/URL/file.pm, URI/URL/finger.pm, URI/URL/ftp.pm, URI/URL/gopher.pm, URI/URL/http.pm, URI/URL/https.pm, URI/URL/mailto.pm, URI/URL/news.pm, URI/URL/nntp.pm, URI/URL/prospero.pm, URI/URL/rlogin.pm, URI/URL/telnet.pm, URI/URL/tn3270.pm, URI/URL/wais.pm, URI/URL/webster.pm, URI/URL/whois.pm, WAIT/Client.pm, WWW/RobotRules.pm, WWW/RobotRules/AnyDBM_File.pm, Term/ReadLine/readline.pm

meta_yml_has_license

Define the license if you are using in Build.PL. If you are using MakeMaker (Makefile.PL) you should upgrade to ExtUtils::MakeMaker version 6.31.

use_warnings

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

Error: C::Scan, CPAN::WAIT, Curses, DB, Data::Dumper, Data::Flow, Devel::Peek, File::CounterFile, File::Listing, Font::AFM, Font::Metrics::Courier, Font::Metrics::CourierBold, Font::Metrics::CourierBoldOblique, Font::Metrics::CourierOblique, Font::Metrics::Helvetica, Font::Metrics::HelveticaBold, Font::Metrics::HelveticaBoldOblique, Font::Metrics::HelveticaOblique, Font::Metrics::TimesBold, Font::Metrics::TimesBoldItalic, Font::Metrics::TimesItalic, Font::Metrics::TimesRoman, FreezeThaw, HTML::AsSubs, HTML::Element, HTML::Entities, HTML::FormatPS, HTML::FormatText, HTML::Formatter, HTML::HeadParser, HTML::LinkExtor, HTML::Parse, HTML::Parser, HTML::TreeBuilder, HTTP::Daemon, HTTP::Date, HTTP::Headers, HTTP::Message, HTTP::Negotiate, HTTP::Request, HTTP::Response, HTTP::Status, LWP, LWP::Debug, LWP::IO, LWP::IO, LWP::MediaTypes, LWP::MemberMixin, LWP::Protocol, LWP::Protocol::file, LWP::Protocol::ftp, LWP::Protocol::gopher, LWP::Protocol::http, LWP::Protocol::mailto, LWP::Protocol::nntp, LWP::RobotUA, LWP::Simple, LWP::Socket, LWP::UserAgent, MIME::Base64, MIME::QuotedPrint, Net::Cmd, Net::Config, Net::Domain, Net::DummyInetd, Net::FTP, Net::NNTP, Net::Netrc, Net::PH, Net::POP3, Net::SMTP, Net::SNPP, Net::Telnet, Net::Time, Term::ReadKey, Term::ReadLine, Term::ReadLine::Perl, URI::Escape, URI::URL, URI::URL::_generic, URI::URL::_login, URI::URL::file, URI::URL::finger, URI::URL::ftp, URI::URL::gopher, URI::URL::http, URI::URL::https, URI::URL::mailto, URI::URL::news, URI::URL::nntp, URI::URL::prospero, URI::URL::rlogin, URI::URL::telnet, URI::URL::tn3270, URI::URL::wais, URI::URL::webster, URI::URL::whois, WAIT::Client, WWW::RobotRules, WWW::RobotRules::AnyDBM_File, readline

no_unauthorized_packages

Ask the owner of the distribution (the one who released it first, or the one who is designated in x_authority) to give you a (co-)maintainer's permission.

Error:

  • CPAN::WAIT
  • Curses
  • Data::Dumper
  • File::CounterFile
  • File::Listing
  • File::Listing::dosftp
  • File::Listing::netware
  • File::Listing::unix
  • File::Listing::vms
  • Font::AFM
  • Font::Metrics::Courier
  • Font::Metrics::CourierBold
  • Font::Metrics::CourierBoldOblique
  • Font::Metrics::CourierOblique
  • Font::Metrics::Helvetica
  • Font::Metrics::HelveticaBold
  • Font::Metrics::HelveticaBoldOblique
  • Font::Metrics::HelveticaOblique
  • Font::Metrics::TimesBold
  • Font::Metrics::TimesBoldItalic
  • Font::Metrics::TimesItalic
  • Font::Metrics::TimesRoman
  • HTML::AsSubs
  • HTML::Element
  • HTML::Entities
  • HTML::FormatPS
  • HTML::FormatText
  • HTML::Formatter
  • HTML::HeadParser
  • HTML::LinkExtor
  • HTML::Parse
  • HTML::Parser
  • HTML::TreeBuilder
  • HTTP::Daemon
  • HTTP::Daemon::ClientConn
  • HTTP::Date
  • HTTP::Headers
  • HTTP::Message
  • HTTP::Negotiate
  • HTTP::Request
  • HTTP::Response
  • HTTP::Status
  • LWP
  • LWP::Debug
  • LWP::IO
  • LWP::MediaTypes
  • LWP::MemberMixin
  • LWP::Protocol
  • LWP::Protocol::file
  • LWP::Protocol::ftp
  • LWP::Protocol::gopher
  • LWP::Protocol::http
  • LWP::Protocol::mailto
  • LWP::Protocol::nntp
  • LWP::Protocol::nntp::Socket
  • LWP::RobotUA
  • LWP::Simple
  • LWP::Socket
  • LWP::UserAgent
  • MIME::Base64
  • MIME::QuotedPrint
  • Net::Cmd
  • Net::Config
  • Net::Domain
  • Net::DummyInetd
  • Net::FTP
  • Net::FTP::A
  • Net::FTP::I
  • Net::FTP::dataconn
  • Net::NNTP
  • Net::Netrc
  • Net::PH
  • Net::PH::Result
  • Net::PH::crypt
  • Net::POP3
  • Net::SMTP
  • Net::SNPP
  • Net::Telnet
  • Net::Time
  • Term::ReadKey
  • URI::Escape
  • URI::URL
  • URI::URL::_generic
  • URI::URL::_login
  • URI::URL::file
  • URI::URL::finger
  • URI::URL::ftp
  • URI::URL::gopher
  • URI::URL::http
  • URI::URL::https
  • URI::URL::mailto
  • URI::URL::news
  • URI::URL::nntp
  • URI::URL::prospero
  • URI::URL::rlogin
  • URI::URL::telnet
  • URI::URL::tn3270
  • URI::URL::wais
  • URI::URL::webster
  • URI::URL::whois
  • WAIT::Client
  • WAIT::Client::HTTP
  • WAIT::Client::HTTP::Handle
  • WWW::RobotRules
  • WWW::RobotRules::AnyDBM_File
  • WWW::RobotRules::InCore

consistent_version

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

Error: 0.04,0.09,0.22,0.81,0.92,0.96,1.05,1.06,1.08,1.09,1.11,1.13,1.21,1.22,1.35,2.01,2.02,2.03,2.05,2.06,2.07,2.08,2.09,2.14,2.17,2.21,4.08,5.05

has_separate_license_file

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

Modules

Name Abstract Version View
C::Scan scan C language files for easily recognized constructs. metacpan
CPAN::WAIT adds commands to search a WAIT4CPAN server to the CPAN C<shell()> 0.22 metacpan
Curses terminal screen handling and optimization metacpan
Data::Dumper stringified perl data structures, suitable for both printing and C<eval> 2.07 metacpan
Data::Flow Perl extension for simple-minded recipe-controlled build of data. 0.04 metacpan
Devel::Peek A data debugging tool for the XS programmer 0.81 metacpan
File::CounterFile Persistent counter class 0.09 metacpan
File::Listing 1.08 metacpan
Font::AFM Interface to Adobe Font Metrics files 1.11 metacpan
Font::Metrics::Courier metacpan
Font::Metrics::CourierBold metacpan
Font::Metrics::CourierBoldOblique metacpan
Font::Metrics::CourierOblique metacpan
Font::Metrics::Helvetica metacpan
Font::Metrics::HelveticaBold metacpan
Font::Metrics::HelveticaBoldOblique metacpan
Font::Metrics::HelveticaOblique metacpan
Font::Metrics::TimesBold metacpan
Font::Metrics::TimesBoldItalic metacpan
Font::Metrics::TimesItalic metacpan
Font::Metrics::TimesRoman metacpan
FreezeThaw converting Perl structures to strings and back. metacpan
HTML::AsSubs functions that construct a HTML syntax tree metacpan
HTML::Element Class for objects that represent HTML elements 1.35 metacpan
HTML::Entities 1.08 metacpan
HTML::FormatPS Format HTML as postscript metacpan
HTML::FormatText Format HTML as text metacpan
HTML::Formatter Base class for HTML formatters metacpan
HTML::HeadParser Parse <HEAD> section of a HTML document 2.02 metacpan
HTML::LinkExtor Extract links from an HTML document metacpan
HTML::Parse 2.03 metacpan
HTML::Parser SGML parser class 2.05 metacpan
HTML::TreeBuilder Parser that builds a HTML syntax tree metacpan
HTTP::Daemon a simple http server class 1.13 metacpan
HTTP::Date 1.22 metacpan
HTTP::Headers Class encapsulating HTTP Message headers metacpan
HTTP::Message Class encapsulating HTTP messages metacpan
HTTP::Negotiate 1.05 metacpan
HTTP::Request Class encapsulating HTTP Requests metacpan
HTTP::Response Class encapsulating HTTP Responses metacpan
HTTP::Status HTTP Status code processing metacpan
LWP Library for WWW access in Perl 5.05 metacpan
LWP::Debug debug routines for the libwww-perl library metacpan
LWP::IO Low level I/O capability metacpan
LWP::MediaTypes metacpan
LWP::MemberMixin Member access mixin class metacpan
LWP::Protocol Base class for LWP protocols metacpan
LWP::Protocol::file metacpan
LWP::Protocol::ftp metacpan
LWP::Protocol::gopher metacpan
LWP::Protocol::http metacpan
LWP::Protocol::mailto metacpan
LWP::Protocol::nntp metacpan
LWP::RobotUA A class for Web Robots metacpan
LWP::Simple metacpan
LWP::Socket TCP/IP socket interface 1.21 metacpan
LWP::UserAgent A WWW UserAgent class metacpan
MIME::Base64 1.08 metacpan
MIME::QuotedPrint 1.09 metacpan
Net::Cmd Network Command class (as used by FTP, SMTP etc) 2.08 metacpan
Net::Config metacpan
Net::Domain Attempt to evaluate the current host's internet name and domain 2.05 metacpan
Net::DummyInetd A dummy Inetd server 1.06 metacpan
Net::FTP FTP Client class 2.21 metacpan
Net::NNTP NNTP Client class 2.14 metacpan
Net::Netrc OO interface to users netrc file 2.06 metacpan
Net::PH CCSO Nameserver Client class 2.17 metacpan
Net::POP3 Post Office Protocol 3 Client class (RFC1081) 2.09 metacpan
Net::SMTP Simple Mail Transfer Protocol Client 2.09 metacpan
Net::SNPP Simple Network Pager Protocol Client 1.09 metacpan
Net::Telnet Defines constants for the telnet protocol 2.01 metacpan
Net::Time time and daytime network client interface 2.05 metacpan
Term::ReadKey A perl module for simple terminal control metacpan
Term::ReadLine Perl interface to various C<readline> packages. If no real package is found, substitutes stubs instead of basic functions. 0.92 metacpan
Term::ReadLine::Perl 0.96 metacpan
URI::Escape metacpan
URI::URL Uniform Resource Locators (absolute and relative) 4.08 metacpan
URI::URL::_generic metacpan
URI::URL::_login metacpan
URI::URL::file metacpan
URI::URL::finger metacpan
URI::URL::ftp metacpan
URI::URL::gopher metacpan
URI::URL::http metacpan
URI::URL::https metacpan
URI::URL::mailto metacpan
URI::URL::news metacpan
URI::URL::nntp metacpan
URI::URL::prospero metacpan
URI::URL::rlogin metacpan
URI::URL::telnet metacpan
URI::URL::tn3270 metacpan
URI::URL::wais metacpan
URI::URL::webster metacpan
URI::URL::whois metacpan
WAIT::Client metacpan
WWW::RobotRules 1.13 metacpan
WWW::RobotRules::AnyDBM_File Persistent RobotRules metacpan
readline 0.96 metacpan

Provides

Name File View
C::Preprocessed C/Scan.pm metacpan
File::Listing::dosftp File/Listing.pm metacpan
File::Listing::netware File/Listing.pm metacpan
File::Listing::unix File/Listing.pm metacpan
File::Listing::vms File/Listing.pm metacpan
HTTP::Daemon::ClientConn HTTP/Daemon.pm metacpan
LWP::Protocol::nntp::Socket LWP/Protocol/nntp.pm metacpan
Net::FTP::A Net/FTP.pm metacpan
Net::FTP::I Net/FTP.pm metacpan
Net::FTP::dataconn Net/FTP.pm metacpan
Net::PH::Result Net/PH.pm metacpan
Net::PH::crypt Net/PH.pm metacpan
Term::ReadLine::Perl::AU Term/ReadLine/Perl.pm metacpan
Term::ReadLine::Perl::Tie Term/ReadLine/Perl.pm metacpan
Term::ReadLine::Stub Term/ReadLine.pm metacpan
WAIT::Client::HTTP WAIT/Client.pm metacpan
WAIT::Client::HTTP::Handle WAIT/Client.pm metacpan
WWW::RobotRules::InCore WWW/RobotRules.pm metacpan