Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: Favourite modules March 2004

by jonadab (Parson)
on Mar 08, 2004 at 23:23 UTC ( #334968=note: print w/replies, xml ) Need Help??

in reply to Favourite modules March 2004

Here's the short list of modules I don't like to be caught without. These are the ones that I don't just find convenient from time to time but rely on constantly.

  • CPAN. Perl isn't properly installed until this is set up, as far as I'm concerned.
  • DateTime (I might die without this one.) Also certain DateTime::Format modules to go with it.
  • DBI and one of the DBD modules. (I've been using DBD::mysql, but one of the others will probably do just as well. You want the corresponding DateTime::Format module, e.g., DateTime::Format::MySQL, to go with it.) I also have my own little wrapper module with functions for my most common queries (add (takes a table name and a hashref), update (ditto), and so on), but if I need to do something I don't have a function for I can always hand-build a query on the db handle.
  • WWW::Mechanize saves a lot of time. If you do a lot of this, you might also want HTML::Tree as a companion. The look_down method is pretty keen.
  • Archive::Zip is spectacularly useful, especially for dealing with OpenOffice documents. (Next question: will I eventually pick an XML module similar to HTML::Tree and use that in conjunction with Archive::Zip for parsing, modifying, and saving my documents? So far I'm still dealing with the XML by hand...)
  • Data::Dumper is a really useful debugging aid. There's also Data::Dumper::Streamer
  • Clone::PP is helpful. The most common things I clone are DateTime objects.
  • Finally, I have a handful of my own include files that I wouldn't want to be without; I copy them to every system I use Perl on. These aren't modules per se, as I 'require' rather than 'use' them.

;$;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b->()}} split//,".rekcah lreP rehtona tsuJ";$\=$;[-1]->();print

Replies are listed 'Best First'.
Re: Re: Favourite modules March 2004
by autarch (Hermit) on Mar 09, 2004 at 06:06 UTC

    Clone::PP is helpful. The most common things I clone are DateTime objects.

    But DateTime has a clone() method! Why not use that?

      But DateTime has a clone() method! Why not use that?

      Oh, so it does. Cool. Well, mark that as one less use for Clone::PP from now on (though of course it'll still be useful for other stuff) :-)

      ;$;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b->()}} split//,".rekcah lreP rehtona tsuJ";$\=$;[-1]->();print

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://334968]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (5)
As of 2017-06-27 02:26 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (598 votes). Check out past polls.