Kwalitee Issues

has_changelog

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

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: FunctionalPerl-0.72/lib/Ch j/singlequote.pm -- Around line 26: =over without closing =back FunctionalPerl-0.72/lib/FP /StrictList.pm -- Around line 63: Unknown directive: =head FunctionalPerl-0.72/lib/FP /Trampoline.pm -- Around line 46: '=item' outside of any '=over' =over without closing =back

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: FP::Char

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!

meta_yml_declares_perl_version

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.

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.

no_invalid_versions

Fix the version numbers so that version::is_lax($version) returns true.

Error:

  • lib/Class/Array.pm: HASH(0x90bd7e0)

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:

  • Class::Array

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: htmlgen/Htmlgen/Cost.pm, htmlgen/Htmlgen/FileUtil.pm, htmlgen/Htmlgen/Htmlparse.pm, htmlgen/Htmlgen/Linking.pm, htmlgen/Htmlgen/MarkdownPlus.pm, htmlgen/Htmlgen/Mediawiki.pm, htmlgen/Htmlgen/Nav.pm, htmlgen/Htmlgen/PXMLMapper.pm, htmlgen/Htmlgen/PathTranslate.pm, htmlgen/Htmlgen/PathUtil.pm, htmlgen/Htmlgen/Toc.pm, htmlgen/Htmlgen/UriUtil.pm, htmlgen/Htmlgen/default_config.pm, meta/ModuleList.pm

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: Chj::IO::Tempdir, FP::Char

meta_yml_has_provides

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.

meta_yml_has_repository_resource

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

Modules

Name Abstract Version View
Chj::Backtrace metacpan
Chj::BinHexOctDec metacpan
Chj::BuiltinTypePredicates metacpan
Chj::CPAN::ModulePODUrl get module POD url on metacpan metacpan
Chj::Class::methodnames metacpan
Chj::Destructor metacpan
Chj::IO::Command metacpan
Chj::IO::CommandCommon metacpan
Chj::IO::Dir metacpan
Chj::IO::File metacpan
Chj::IO::Pipe metacpan
Chj::IO::PipelessCommand metacpan
Chj::IO::Tempdir metacpan
Chj::IO::Tempfile metacpan
Chj::IO::WrappedFile metacpan
Chj::Linux::LmSensors metacpan
Chj::NamespaceClean metacpan
Chj::NamespaceCleanAbove metacpan
Chj::Package::OfPath metacpan
Chj::Serialize metacpan
Chj::TEST metacpan
Chj::TerseDumper metacpan
Chj::Unix::Exitcode metacpan
Chj::Unix::Signal metacpan
Chj::Util::AskYN metacpan
Chj::chompspace metacpan
Chj::constructorexporter metacpan
Chj::noTEST metacpan
Chj::pp pretty printing as a debugging help metacpan
Chj::ruse reload modules metacpan
Chj::singlequote metacpan
Chj::singlequote::t tests for Chj::singlequote metacpan
Chj::tempdir metacpan
Chj::time_this benchmarking function that also returns the result(s) metacpan
Chj::xIO some IO utilities metacpan
Chj::xIOUtil exception-throwing I/O utilities metacpan
Chj::xhome metacpan
Chj::xopen metacpan
Chj::xopendir metacpan
Chj::xoutpipe metacpan
Chj::xperlfunc metacpan
Chj::xpipe metacpan
Chj::xtmpfile metacpan
Class::Array array based perl objects metacpan
FP::Abstract::Equal equality protocol metacpan
FP::Abstract::Interface protocol for an interface metacpan
FP::Abstract::Pure functional purity protocol metacpan
FP::Abstract::Sequence functional sequence protocol metacpan
FP::Abstract::Sequence::t tests for FP::Abstract::Sequence metacpan
FP::Abstract::Show equality protocol metacpan
FP::Array pure functions to work with native Perl arrays metacpan
FP::Array_sort 'sensible' sorting setup metacpan
FP::Char functions to handle individual characters metacpan
FP::Combinators function combinators metacpan
FP::DBI DBI with results as lazy lists metacpan
FP::Div various pure functions metacpan
FP::DumperEqual equality metacpan
FP::Equal generic equality comparison metacpan
FP::Equal::t tests for FP::Equal metacpan
FP::Failure failure values metacpan
FP::FunctionalPerl functional programming on Perl 0.72 metacpan
FP::Git::Repository metacpan
FP::Hash metacpan
FP::HashSet set operations for hash tables metacpan
FP::IOStream metacpan
FP::Interfaces implement interfaces metacpan
FP::Lazy lazy evaluation (delayed evaluation, promises) metacpan
FP::List singly linked (purely functional) lists metacpan
FP::Memoizing a functional memoize metacpan
FP::Ops function wrappers around Perl ops metacpan
FP::Optional dealing with optional values metacpan
FP::OrderedCollection metacpan
FP::Path metacpan
FP::Path::t metacpan
FP::Predicates metacpan
FP::PureArray metacpan
FP::Repl read-eval-print loop metacpan
FP::Repl::AutoTrap use FP::Repl::Trap on tty, Chj::Backtrace otherwise metacpan
FP::Repl::Dependencies hack to load Repl dependencies metacpan
FP::Repl::Repl read-eval-print loop metacpan
FP::Repl::Stack metacpan
FP::Repl::StackPlus Stack including lexical variables metacpan
FP::Repl::Trap metacpan
FP::Repl::WithRepl metacpan
FP::Repl::corefuncs metacpan
FP::Show give (nice) code representation for debugging purposes metacpan
FP::Show::Base::FP_Struct metacpan
FP::Show::t metacpan
FP::Stream lazily generated, singly linked (purely functional) lists metacpan
FP::StrictList an FP::List that enforces list semantics metacpan
FP::Struct classes for functional perl metacpan
FP::Text::CSV functional interface to Text::CSV metacpan
FP::Trampoline tail call optimization without reliance on goto metacpan
FP::TransparentLazy lazy evaluation with transparent evaluation metacpan
FP::Trie purely functional prefix tree metacpan
FP::Trie::t tests for FP::Trie metacpan
FP::Untainted functional untainting metacpan
FP::Values utilities to work with Perl's multiple values ("lists") metacpan
FP::Weak utilities to weaken references metacpan
FP::Weak::t tests for FP::Weak metacpan
FP::fix recurse with the fix point combinator metacpan
FP::uncurry metacpan
FP::url_ metacpan
Htmlgen::Cost metacpan
Htmlgen::FileUtil metacpan
Htmlgen::Htmlparse metacpan
Htmlgen::Linking metacpan
Htmlgen::MarkdownPlus metacpan
Htmlgen::Mediawiki metacpan
Htmlgen::Nav configurable navigation bar data structure metacpan
Htmlgen::PXMLMapper base class for PXML mappers metacpan
Htmlgen::PathTranslate metacpan
Htmlgen::PathUtil metacpan
Htmlgen::Toc building a table of contents metacpan
Htmlgen::UriUtil metacpan
Htmlgen::default_config metacpan
ModuleList metacpan
PXML functional XML handling, general functions metacpan
PXML::Element base class for PXML elements metacpan
PXML::HTML5 metacpan
PXML::Preserialize faster PXML templating through preserialization metacpan
PXML::Preserialize::t tests for PXML::Preserialize metacpan
PXML::SVG metacpan
PXML::Serialize metacpan
PXML::Serialize::t tests for PXML::Serialize metacpan
PXML::Tags metacpan
PXML::Util utility functions for PXML trees metacpan
PXML::XHTML metacpan

Provides

Name File View
Chj::Destructor::_ lib/Chj/Destructor.pm metacpan
Chj::Linux::LmSensors::Measurement lib/Chj/Linux/LmSensors.pm metacpan
Chj::Linux::LmSensors::Selector lib/Chj/Linux/LmSensors.pm metacpan
Chj::Linux::LmSensors::Value lib/Chj/Linux/LmSensors.pm metacpan
Chj::Linux::LmSensors::ValueBase lib/Chj/Linux/LmSensors.pm metacpan
Chj::Linux::LmSensors::ValueGroup lib/Chj/Linux/LmSensors.pm metacpan
Chj::Linux::LmSensors::ValueNA lib/Chj/Linux/LmSensors.pm metacpan
Chj::Serializable::Closure lib/Chj/Serialize.pm metacpan
Chj::Serialize::Closure lib/Chj/Serialize.pm metacpan
Chj::Unix::Exitcode::Exitcode lib/Chj/Unix/Exitcode.pm metacpan
Chj::ruse::Reload lib/Chj/ruse.pm metacpan
Chj::xperlfunc::Getgrnam lib/Chj/xperlfunc.pm metacpan
Chj::xperlfunc::Getpwnam lib/Chj/xperlfunc.pm metacpan
Chj::xperlfunc::mtimed lib/Chj/xperlfunc.pm metacpan
Chj::xperlfunc::tmpdir lib/Chj/xperlfunc.pm metacpan
Chj::xperlfunc::xlocaltime lib/Chj/xperlfunc.pm metacpan
Chj::xperlfunc::xstat lib/Chj/xperlfunc.pm metacpan
FP::DBI::Row lib/FP/DBI.pm metacpan
FP::DBI::db lib/FP/DBI.pm metacpan
FP::DBI::st lib/FP/DBI.pm metacpan
FP::Failure::Abstract::Message lib/FP/Failure.pm metacpan
FP::Failure::Failure lib/FP/Failure.pm metacpan
FP::Failure::Message lib/FP/Failure.pm metacpan
FP::Failure::MessageFmt lib/FP/Failure.pm metacpan
FP::Lazy::Promise lib/FP/Lazy.pm metacpan
FP::Lazy::PromiseLight lib/FP/Lazy.pm metacpan
FP::List::List lib/FP/List.pm metacpan
FP::List::Null lib/FP/List.pm metacpan
FP::List::Pair lib/FP/List.pm metacpan
FP::PureArray::_Test lib/FP/PureArray.pm metacpan
FP::Repl::Repl::StackPlusFrame lib/FP/Repl/StackPlus.pm metacpan
FP::Repl::StackFrame lib/FP/Repl/Stack.pm metacpan
FP::StrictList::Null lib/FP/StrictList.pm metacpan
FP::StrictList::Pair lib/FP/StrictList.pm metacpan
FP::TransparentLazy::Promise lib/FP/TransparentLazy.pm metacpan
FP::TransparentLazy::PromiseLight lib/FP/TransparentLazy.pm metacpan
FP::Trie::BareLevel lib/FP/Trie.pm metacpan
FP::Trie::KeyNotFoundException lib/FP/Trie.pm metacpan
FP::Trie::Trie lib/FP/Trie.pm metacpan
FP::Trie::ValueLevel lib/FP/Trie.pm metacpan
Htmlgen::Linking::Anchors htmlgen/Htmlgen/Linking.pm metacpan
Htmlgen::Linking::a_href htmlgen/Htmlgen/Linking.pm metacpan
Htmlgen::Linking::code htmlgen/Htmlgen/Linking.pm metacpan
Htmlgen::Nav::Entry htmlgen/Htmlgen/Nav.pm metacpan
Htmlgen::Nav::Index htmlgen/Htmlgen/Nav.pm metacpan
Htmlgen::Nav::RealEntry htmlgen/Htmlgen/Nav.pm metacpan
Htmlgen::Nav::TopEntry htmlgen/Htmlgen/Nav.pm metacpan
PFLANZE::Cost htmlgen/Htmlgen/Cost.pm metacpan
PFLANZE::TocNode htmlgen/Htmlgen/Toc.pm metacpan
PFLANZE::TocNodeBase htmlgen/Htmlgen/Toc.pm metacpan
PFLANZE::TocRootNode htmlgen/Htmlgen/Toc.pm metacpan
PFLANZE::Totalcost htmlgen/Htmlgen/Cost.pm metacpan
PXML::Body lib/PXML.pm metacpan
PXML::PSVG lib/PXML/SVG.pm metacpan
PXML::PXHTML lib/PXML/XHTML.pm metacpan
PXML::Preserialize::Argument lib/PXML/Preserialize.pm metacpan
PXML::Preserialize::Serialized lib/PXML/Preserialize.pm metacpan

Other Files

MANIFEST metacpan
META.yml metacpan
Makefile.PL metacpan
README.md metacpan