RECENT ENTRIES
Exporter::Declare: After yammering about how much I like Sub::Exporter I discover another exporter that, until today, I had not heard of. It looks very promising and I plan on testing it out "sometime soon".
Sub::Exporter: I've started using this module when writing modules that have symbols to be exported. It is much better than the standard Exporter and its documentation has a handy comparison to other CPAN export modules. I've found it to be very easy to use and extremely powerful. It was used as the exporter for Moose for a reason. It is simply the best exporter available.
Reflex: the next generation project being worked on by Rocco Caputo (the author of POE). It seems to be an attempt to remake POE using a more Modern Perl approach (which, of course, means Moose among other things). It can work with existing POE components using a number of adaptor classes.
Of late I've noticed a trend with at least a few major projects. Most of the key developers don't read the users mailing list, but instead insist that people come to IRC if they want help (I thought this was an appropriate response). I've seen this on a number of important mailing lists such as DBIx::Class, Catalyst, and Moose.
This is ridiculous. With mailing lists you get easily searchable archives and people can read exchanges at their leisure. When a question or answer is presented everyone on the list can benefit (and, thanks to searchable archives and the miracle of internet search engines, people who aren't subscribed can benefit...even years later). With IRC you get none of that. Only the people who are on-line and paying attention at the time get the benefit. I don't understand the reasoning behind this preference for IRC and shunning of mailing lists. It strikes me as a shift to move closer to the Cathedral and farther from the Bazaar.
One project that seems to have struck a good balance is the Subversion project. Many of their developers talk to one another via IRC, but they also realize that most people aren't on IRC at the time they are on. So what do they do? They post transcripts of important conversations to the mailing list. This sparks new conversations...all of which will be seen by all subscribers and anyone else who is interested.
With the success of Moose I suppose it was inevitable that people would want to build 'lite' versions of it. Mouse has been around for almost as long as Moose, and now there is Moo which bills itself as 'almost two thirds of Moose' (get it?).
I recently ordered, and just received, two Perl-related books. One is the fresh off the presses Modern Perl, and the other is a 2009 book about Catalyst. After I read them I will review them here. I expect them both to be good.
I bought Modern Perl because I think I can learn a thing or two from it and because I'm a follower of the eponymous blog.
I bought the Catalyst book because I need to start using it for a project I'm working on at work. It is the most recent book on the topic and the authors are people who are highly regarded in the Perl community.
How did I not know that this can be done? Seems like there are any number of places that this could be useful. The blog post also covers some nasty gotchas.
Love::Match::Calc. Apparently you can take two names and generate what is known as a love factor. I don't know what that is but it is self-evidently awesome.
Const::Fast: A replacement for using constant and Readonly. The code is ridiculously simple. The primary problems with the other modules? Readonly is built on top of tie() (so can be quite slow), and constant simply wraps the value in a sub call and so (among other things) you don't get interpolation for anything declared with 'use constant' since you aren't dealing with a scalar.
MooseX::POE: A Moose wrapper for POE::Session. Write POE modules using Moose. There is also a set of modules in the POEx namespace that purport to do something similar, but MooseX::POE seems to be maintained.
Parallel::Iterator: A module that provides a 'parallel map' function. It transparently utilizes multiple cores, performs IPC, and other stuff.
Path::Dispatcher: a dispatcher that can work just about anywhere. It works (roughly) analogously to the way mod_perl works when matching URIs and dispatching to URI handlers. This code can work in any context including the command line.
IPC::Run3: the successor to IPC::Open2. A simpler API with the same functionality.
Config::Model: A framework for creating configuration validation and editors. This is something I've wanted to write for awhile now. If I understand the goal of this module correctly it should make writing configuration systems very simple.
App::perlbrew: Manage perl installations in your $HOME. I can see where this can be very useful. Here is an introduction on its use.
PERL BLOGS