I had a patch accepted which adds an is_core() function
to Module::CoreList.
This was my first attempt at modifying a core module.
This post describes the function, why I wanted it, and my experience
adding it to a core module. And then fixing the bug I introduced!
While playing with Module::CoreList I realised that the history of Perl releases is not a straight line, but a tree or graph. So I immediately wanted to draw it, and here it is.
Read more ...I recently released a new version of my PAUSE::Packages module, which caches information about releases on CPAN and makes it easy to iterate over it. In this post I'll cover the motivation for this module, why I decided to transform the existing PAUSE export file, and how David Golden nudged me to use JSON.
Read more ...Until today I had thought of Perl 6 as the successor to Perl 5 that hadn't turned up. That the problem was mainly that it hadn't had a production-ready release yet, and there was no drive for one. But after watching a video of a Larry Wall talk, I realised that Perl 6 isn't the next version of Perl, it's a whole new language, inspired by Perl 5, amongst other things. Calling it Perl anything is not only a disservice to Perl 5, I think it's a disservice to Perl 6.
Read more ...When creating a CPAN distribution, all the modules should come under a single
namespace. If your Foo-Bar distribution has a lead module Foo::Bar,
then in almost all cases,
all other modules in your distribution should be in the Foo::Bar::* namespace.
In this post I'll explain why.
As I described in a recent post, I discovered that my Module::Path module has rather more dependent distributions than I thought. Awareness of this has changed my behaviour, for the good.
Read more ...This line, taken from the documentation for Class::Tiny, sums up one facet of CPAN perfectly!
Read more ...This is an idea for encouraging new contributors to CPAN. When someone uploads their first ever module to CPAN, a volunteer buddy would be assigned. This would be a more experienced CPAN author who would email them "hi, saw your just uploaded your first module — awesome! Let me know if you have any questions, in the meantime here are some good resources about modules, CPAN and the perl community". Of course that could be done automatically, but the human connection would make a lot of difference, I believe.
Read more ...While working on my adoption metric I've been looking at the number of distributions dependent on each distribution. Today I built the full dependency graph, so I could count the total number of dependencies. Or as ETHER put it: "how many other distributions will you break if you break yours?" It turns out 70% of CPAN distributions aren't used by any other distribution.
Read more ...Two weeks ago I published a list of CPAN modules that might be candidates for adoption, and described the metric used to score them. I had a lot of comments on that version, which has prompted version 3 of the metric. The key change is the use of gating criteria to decide whether a module should even be considered for the list. The new list contains dists that score at least 5 (out of 14), which is about 4% of the dists on CPAN.
Read more ...