Kwalitee Issues


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


Add =head1 LICENSE and the text of the license to the main module in your code.


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


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


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.


  • MANIFEST (66) does not match dist (67):
  • Missing in MANIFEST: Makefile.PL


List all used modules in META.yml requires


  • Exception::Class


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: DS::Exception, DS::Exception::Processing, DS::Exception::Processing::Validator


Add =head1 LICENSE and/or the proper text of the well-known license to the main module in your code.


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


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.


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


  • lib/DS/ HASH(0x6393548)
  • lib/DS/Exception/ HASH(0x63934b8)
  • lib/DS/Exception/Processing/ HASH(0x6393560)
  • lib/DS/ HASH(0x6393578)
  • lib/DS/Importer/ HASH(0x63934e8)
  • lib/DS/Importer/ HASH(0x63934d0)
  • lib/DS/Importer/ HASH(0x6393680)
  • lib/DS/Importer/ HASH(0x6393638)
  • lib/DS/Importer/ HASH(0x6393260)
  • lib/DS/Importer/ HASH(0x6c6a990)
  • lib/DS/Importer/ HASH(0x6c6a978)
  • lib/DS/ HASH(0x63932f0)
  • lib/DS/Source/ HASH(0x63936e0)
  • lib/DS/Source/ HASH(0x6c6a9a8)
  • lib/DS/ HASH(0x6393800)
  • lib/DS/Target/ HASH(0x63937b8)
  • lib/DS/Target/ HASH(0x62abed8)
  • lib/DS/Target/ HASH(0x62ac658)
  • lib/DS/Target/ HASH(0x62ac6a0)
  • lib/DS/ HASH(0x62ac6e8)
  • lib/DS/Transformer/ HASH(0x62ac748)
  • lib/DS/Transformer/ HASH(0x62ac790)
  • lib/DS/Transformer/ HASH(0x62ac7d8)
  • lib/DS/Transformer/ HASH(0x62ac820)
  • lib/DS/Transformer/ HASH(0x62ac868)
  • lib/DS/Transformer/ HASH(0x62ac8b0)
  • lib/DS/Transformer/ HASH(0x62ac8f8)
  • lib/DS/Transformer/ HASH(0x62ac940)
  • lib/DS/Transformer/ HASH(0x62ac988)
  • lib/DS/Transformer/ HASH(0x62ac9d0)
  • lib/DS/Transformer/ HASH(0x62aca18)
  • lib/DS/Transformer/ HASH(0x62aca60)
  • lib/DS/Transformer/ HASH(0x62acaa8)
  • lib/DS/Transformer/ HASH(0x62acaf0)
  • lib/DS/Transformer/ HASH(0x62acb38)
  • lib/DS/Transformer/ HASH(0x62acb80)
  • lib/DS/Transformer/ HASH(0x62acbc8)
  • lib/DS/Transformer/ HASH(0x62acc10)
  • lib/DS/Transformer/ HASH(0x62acc58)
  • lib/DS/ HASH(0x62ac730)
  • lib/DS/TypeSpec/ HASH(0x62accd0)
  • lib/DS/TypeSpec/ HASH(0x62acd30)


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: DS::Exception, DS::Exception::Processing, DS::Exception::Processing::Validator, DS::Importer, DS::Importer::Factory, DS::Importer::Hash, DS::Importer::ParaQuery, DS::Importer::Sth, DS::Importer::Sub, DS::Importer::TabFile, DS::Importer::TabStream, DS::Source, DS::Source::Proxy, DS::Source::Push, DS::Target, DS::Target::Proxy, DS::Target::Sink, DS::Target::Sth, DS::Target::Sub, DS::Transformer, DS::Transformer::Buffer, DS::Transformer::Catch, DS::Transformer::Grep, DS::Transformer::Insert, DS::Transformer::Multiplexer, DS::Transformer::Opaque, DS::Transformer::Projector, DS::Transformer::Regex, DS::Transformer::Rtrim, DS::Transformer::Stack, DS::Transformer::StatCounter, DS::Transformer::Sth, DS::Transformer::Sub, DS::Transformer::TabFileWriter, DS::Transformer::TabStreamWriter, DS::Transformer::TypePassthrough, DS::Transformer::Update, DS::TypeSpec, DS::TypeSpec::Any, DS::TypeSpec::Field


Name Abstract Version View
DS Data Stream module 2.13 metacpan
DS::Exception metacpan
DS::Exception::Processing metacpan
DS::Exception::Processing::Validator metacpan
DS::Importer component that retrieves data from outside DS and passes it down a processing chain. metacpan
DS::Importer::Factory metacpan
DS::Importer::Hash metacpan
DS::Importer::ParaQuery metacpan
DS::Importer::Sth metacpan
DS::Importer::Sub metacpan
DS::Importer::TabFile metacpan
DS::Importer::TabStream metacpan
DS::Source component that is the source of rows metacpan
DS::Source::Proxy metacpan
DS::Source::Push metacpan
DS::Target target of rows. metacpan
DS::Target::Proxy metacpan
DS::Target::Sink metacpan
DS::Target::Sth metacpan
DS::Target::Sub metacpan
DS::Transformer receives, transforms and passes on rows metacpan
DS::Transformer::Buffer metacpan
DS::Transformer::Catch metacpan
DS::Transformer::Grep metacpan
DS::Transformer::Insert metacpan
DS::Transformer::Multiplexer metacpan
DS::Transformer::Opaque metacpan
DS::Transformer::Projector metacpan
DS::Transformer::Regex metacpan
DS::Transformer::Rtrim metacpan
DS::Transformer::Stack metacpan
DS::Transformer::StatCounter metacpan
DS::Transformer::Sth metacpan
DS::Transformer::Sub metacpan
DS::Transformer::TabFileWriter metacpan
DS::Transformer::TabStreamWriter metacpan
DS::Transformer::Tee metacpan
DS::Transformer::TypePassthrough metacpan
DS::Transformer::Update metacpan
DS::Transformer::Validator metacpan
DS::TypeSpec metacpan
DS::TypeSpec::Any metacpan
DS::TypeSpec::Field metacpan

Other Files

MANIFEST metacpan
Makefile.PL metacpan