Dear it in more than one way doing friends,
After Favourite modules March 2002 and Favourite modules April 2003, I think it is time to list my favourite modules for March 2004.
These lists are a very good way to learn about modules you didn't know before. This and other things have influenced my list of favourite modules. The most important reason for the big difference with last year's list is that I used sort to get the modules in a more accurate order.
sort { print "A: $a\nB: $b\n> "; { A => -1, B => 1 }->{uc substr <>, 0, 1} } @foo;
For each choice between modules, I chose the one I liked better. I found that the one I like better isn't always the one that I use more often. According to Perl, this is my list for this year: (As before, excluding pragmata and my own modules)
The modules that were in @foo but didn't make it are (in alphabetical order): Class::DBI, HTML::TreeBuilder, IPC::Run, MIME::Lite, Regexp::Common, Text::Reform.I'll try to explain the difference with my list of April 2003:
- I haven't used IPC::Run a lot. I think I loved it mostly because I was used to open2/open3.
- LWP apparently is cooler than I realised. WWW::Mechanize is new and I really love it. I think it influenced my thoughts on LWP.
- To my surprise, Regexp::Common is not as useful as it seemed. It has many very useful regexes, but in a year my own regex skills improved. For most of the situations in which I was about to use a regex from %RE, that regex was slightly different from what I had in mind. I think I used only the IP and hostname matching. The enormous number of tests also made me like it a little less: it takes too long to install.
- Having done less email related programming, I almost even forgot about MIME::Lite.
- Template Toolkit is new in this list. It has simplified working together with non-programmers and forces me to code in a more structured manner.
- I have always liked File::Slurp, but with Uri Guttman's improvements it now deserves a place in the top 10.
The question for you is the same as always:
What are your favourite modules?
Juerd # { site => 'juerd.nl', plp_site => 'plp.juerd.nl', do_not_use => 'spamtrap' }