My contribution to celebrating CPAN Day this year is releasing at least one new distribution each day in August from day 1 to the culminating 16. Yeah, all of the distros are trivial and most of them classify as crap, but perhaps one or two are crap that you need 🙂 (A large proportion of them do solve my itch.)

Day 1: Perl::Critic::PolicyBundle::PERLANCAR (this currently just contains two policies written originally by HAUKEX who were kind enough to write Perl::Critic policies to solve my itches. Since HAUKEX intends to release them eventually as CPAN distros himself, I do not index the policy packages so when he does upload to CPAN he will not encounter permission problems). Day 2: Module::Load::DiffINC, App::PerlCriticUtils. Day 3: App::LogGerUtils, Log::ger::Screen::ColorSchemes::Kuler, Log::ger::Level::Like::RubyLogging, Log::ger::Level::Like::PythonLogging. Day 4: Log::ger::Plugin::WithWarn (the stack trace is still screwed up). Day 5: App::envset (after having the idea and name, I googled "envset" and it turned up this npm package of the same name and overall functionality; but I wanted to be able to specify multiple sets and I thought writing configuration in IOD format will make it more convenient to specify arrays, do proper quoting, etc so I wrote the Perl version anyway). Day 6: App::DiffTarballs. Day 7: App::DiffCPANReleases (VTI pointed out in a tweet that his depentree.com can also do this, and because of that I got reminded that libraries.io can also do it, albeit only for distros that have github repos). Day 8: Tie::Handle::LogAny, Tie::Handle::LogGer.

Day 9: Text::DumbTemplate. Day 10: App::corruptor, Sah::Schemas::Float, Getopt::Long::EvenLess::Dump. Day 11: Module::CPANfile::FromDistINI (this module was inspired by this post; the module does not solve the problem completely, but it relieves the pain somewhat). Day 12: Text::WordDiff::Unified::ANSIColor, App::diffwc (before writing diffwc, and since writing App::DiffTarballs, I used riff for a few days but it has a few bugs and there is no diff wrapper, only filter; plus a Rubygem-based utility doesn't feel like a typical Unix utility). Day 13: App::diffwc::ColorSchemes::Kuler. Day 14: App::ProveDeps (the prove-deps utility was born out of the need to test the dependents of Log::ger which are many). Day 15: Patch::chdir::Print, DBIx::Connect::MySQL. Day 16: App::finddo.