Wednesday, August 03, 2005

The Conway channel, part 2

Tuning back in to the Conway channel, Damian is talking about twelve new Perl modules hes written over the last year, all but one of which are on CPAN, and the lst of which will be on by midnight, err, probably...

He kicked off talking about smarter IO and the IO::Prompt and IO::Interactive modules which look quite handy. Although perhaps not as handy as logging and the Log::StdLog module, which is what he talked about next.

Next up was Debug::Phases module which is an incredibly simple piece of code. Following that we had the the Leading::Zeros module, which I don't think I could ever find a use for...

However at the half way point we have Sub::Installer which allows you to reinstall a subroutine, now that I can find a use for...

Then we had a module to manipulate the pre-, post- and match magic variable called the Regexp::MatchContext, which looking at his CPAN directory looks to be the one that hasn't been released yet.

Following that Damian talked about Robin Houston's Want module, which didn't quite do everything he wanted, so he wrote Contextual::Return which will allow you to overload your routines to return different things in different contexts. This one looks amazingly useful stuff.

Next up was a discussion of the Exporter module, which Damian doesn't like very much, so he wrote Perl6::Export::Attrs.

Damian then said that having tried all of the configuration file parsers on CPAN, of which there are many, and he didn't like any of them, so he wrote Config::Std. Having basically to having had to do this myself at one point I could feel his pain, although his needs look very different from mine so it doesn't look like I can get rid of me awful hack of a config file parser just yet.

After writing a configuration line parser, he's also gone on to write a command line argument parser module, sort of like POD::Usage but on steroids. It's called Getopt::Euclid which uses your POD documentation to specify what your command line arguments should be...

The next module was Toolkit which allows you to specify a default list of modules and pragmas to using an AutoLoad, amongst other clever techniques, funnily enough that doesn't seem to be in his CPAN directory either, I thought there should only be one missing?

So what's the message? That Perl isn't the perfect tool to do the job, but it's the perfect tool for building the perfect tools for getting the job done...