CPAN Day - start your engines!

CPAN Day (August 16th, UTC) is nearly here. Someone asked me what the goals are, if any, for CPAN Day. When BOOK came up with the idea, we both thought it was an opportunity to celebrate CPAN, but also a chance to reflect on how we got here, and to think about how we can keep driving it forward.

I also saw it as an opportunity to bang on my curation drum — give everyone ideas for how they might improve their distributions, or those of others, and in doing so improve the overall quality of CPAN.

CPAN was created by us, for us, so do whatever feels right to you.

If you do something for CPAN Day, please tweet about it with the #cpanday hashtag.

CPAN Day 2014 in Oslo

Oslo Perl Mongers are organizing a CPAN Day event! \o/

Tomorrow (Saturday August 16th 2014), we’ll be hanging out at the Hackeriet (Norwegian for “The Hackery”) hackerspace, helping anyone dropping by with CPAN and Perl issues they may have!

We can help with…

  • Getting your modules published
  • Sign up for PAUSE
  • Answering your Perl quesions, of any difficulty!
  • Telling about Perl and CPAN best practices
  • Show how to create a CPAN distribution
  • Help toubleshooting module deployment and installation issues
  • Offer therapy, constructive criticism or Real Help for anyone struggling with Perl or CPAN
  • Hang out and have fun!

We’ll have Club Mate in the fridge (unless it’s sold out) and even a short presentation about CPAN and Perl module basics, courtesy Arne Sommer.

Feel free to sign up at, and drop by! :-D

Try Travis CI with your CPAN distributions

Travis is a continuous integration (CI) platform for github users, which is free to use. You can set it up so that every time you push one of your CPAN distributions to github, Travis will test it against different versions of Perl.

I've only just started playing with Travis, but I can already see benefits for using it in parallel with CPAN Testers. Why not give it a go on CPAN Day? :-)

In addition to and I just found out that the domain is also about to expire. As I don't want to pay for these any more I'll let all of these expire.

If you have an idea what to do with any of these domains, please let me know and I'd be glad to transfer the ownership to you instead of letting random people register them after they expire.

Want to help the Perl community? Here's how.

Please respond by tomorrow (Aug 15th).

Grants Committee Looking For Volunteers - The Perl Foundation

brian d foy at Chicago Perl Mongers tonight!

Just a quick reminder that noted perl luminary brian d foy will be at Chicago Perl Mongers tonight. He will be running his Become a CPAN Author Workshop which is a great way to start contributing to this famous repository. So if you have wanted to start playing with CPAN or you just want to meet brian then come on over! It is free as in beer AND there will be free beer!

Specify the min perl version for your distribution

It's a good idea to specify the minimum Perl version required by your distribution. It's useful information for people looking at your code, it's helpful for CPAN Testers (which will report NA for old perls, rather than failing), and it makes the requirement clear to people who are trying to install your module on an older Perl.

Splitting a Catalyst App and recombining it with Plack::Builder

I had a big Catalyst App serving HTML.

Some time later a RESTful interface was needed so I added RESTful controllers using Catalyst::Controller::REST

But that broke Plack::Middleware::CSRFBlock, because the REST calls don't request a form and thus cannot add the secure token to POST requests.

Thinking about a solution it dawned on my that having a single App serving HTML and RESTful requests is probably a bad design choice.

Thankfully most of my business logic is in my DBIx::Class schema so splitting up one Catalyst App into two Catalyst Apps under the same namespace shouldn't be much of a problem.

Let's call the old App 'MyApp'. I wanted the new Apps to be named 'MyApp::Web::HTML' and 'MyApp::Web::API'

First part was to create lib/MyApp/Web/API and lib/MyApp/Web/HTML folders and moving as much components (Controllers/Views/Forms) there as possible. This part meant quite some renaming of file and package names. Your IDE can be quite helpful with that.

About is a common blogging platform for the Perl community. Written in Perl and offering the modern features you’ve come to expect in blog platforms, the site is run by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.