Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Ovid (2709)

  (email not shown publicly)
AOL IM: ovidperl (Add Buddy, Send Message)

Stuff with the Perl Foundation. A couple of patches in the Perl core. A few CPAN modules. That about sums it up.

Journal of Ovid (2709)

Wednesday August 17, 2005
01:44 PM

What are the "must have" modules?

[ #26332 ]

I know this has been answered in many other places, but I was hoping to see a nice list here. Assuming you've just installed Perl, what modules are missing that you absolutely need? I have a variety of them, but just off the top of my head, I need:

  • aliased
  • Class::DBI
  • DBD::SQLite
  • DBI
  • Data::Dumper::Simple
  • HTML::TokeParser::Simple
  • Inline
  • Regexp::Common
  • Template
  • Test::Class
  • Test::Differences
  • Test::Exception
  • Test::MockModule
  • Test::Pod::Coverage
  • Test::Pod
  • Test::WWW::Mechanize
  • WWW::Mechanize

What would you put on that list?

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
    • Bundle::CPAN (so I can get full capacity)
    • Bundle::Test (so that everything gets tested properly, from now on)
    • CPAN::Mini (after which I start creating a mirror)
    • Bundle::COG (it's my stuff, OK?)
    • Date::DayOfWeek (required for stuff in ~/bin)
    • ExtUtils::ModuleMaker (required for stuff in ~/bin)
    • JSAN (I'm interested in this one)
    • Perl::Tidy (required by my .vimrc, but I rarely use it now)
    • Spork (making slides)
    • WWW::Mechanize (I like this one a lot)
  • I still install and use Time::Piece regularly, but I am in the process of learning how to use DateTime and switching over to it. One or both are indispensible to me.

    I used to have a list of must-install modules in my perl installation instructions [], but that list has definitely changed today.

    J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers
    • HTML::Template, or to taste.
  • There is always something that requires quick XML parsing... XML::Simple
  • Of course it depends to some extent on whatever I'm doing at the moment. However in addition to what's on your list I'd probably feel a little lost without:

    • Large chunks of Test::*
    • Kwiki - having a wiki per-project is my default behaviour now
    • CPAN::Mini - becoming my default way of managing modules for clients
    • DateTime - because it rocks
    • File::Find::Rule - because it also rocks
    • Devel::Size - for figuring out where all that memory went
    • HTTP::Recorder - web site testing and scraping
    • Module::Build - because
  • As well as DateTime [] , which a few other people have mentioned, I soon find myself installing these:


  • Here's my unique contributions:
    • Algorithm::Diff
    • AnnoCPAN::Perldoc
    • Archive::Zip/Archive::Tar
    • Crypt::RC4
    • DBD::mysql
    • Email::Valid
    • File::Slurp
    • Net::ICal
    • PAR
    • Parse::RecDescent
    • Spreadsheet::ParseExcel
    • Spreadsheet::WriteExcel
    • URI
    • XML::Parser

    And my "me too"s

    • DateTime
    • DBI
    • Module::Build
    • Module::CoreList
    • Path::Class
    • Regexp::Common
    • YAML

    And my own modules that I use constantly:

    • CAM::PDF
    • CGI::Compress::Gzip
    • Wx (the GUI stuff)
    • Locale::Maketext::Lexicon (for L18N)
    • PAR (for packaging)
    • File::Cache (simple caching)
    • YAML (easy storage/retrieval of data structures)

    And my own stuff:
    • Speech::Synthesis (for TTS)
    • AAC::Pvoice (for pVoice development)
  • Reading my list I note that "high-level" modules are conspicuously absent, nothing too far from the metal here:

    • YAML: for debugging, storing things to be processed by an other piece of code and output if I am the one that will read it,
    • CGI: yessir, I still use it for simple things that do not require...
    • Text::Template: I don't work with graphic designers and the little web stuff I do is quite simple, so Text::Template works really well for me,
    • DBI of course, with either
    • DBD::Pg: for serious stuff, or
    • DBD::
  • The ones I really don’t want to do without, roughly in order of importance:

    • XML::LibXML
    • libwww-perl
    • DBI
    • DateTime

    Also rans, in alphabetical order:

    • CGI::Prototype
    • Module::Build
    • Template
    • XML::LibXSLT

    And the one I hope to write a substantial amount of code around once I have the tuits:

    • Gtk2