Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

It's hard to pick three, and there are a lot more than three that I'd like to pick, but I think if I were stuck with a limit of three, it would probably come down to the following:

  • DateTime is hands-down my number-one choice. I don't consider Perl to be properly installed until this module is working. If I had to do all date calculations based on gmtime and localtime and strftime and their ilk, I would have gone insane several years ago and probably switched to Python or Ruby or something. This one really ought to be core, along with it's suite of DateTime::Format::Foo modules for converting to and from every major date/time format.
  • Data::Dumper. This is another one without which I don't consider Perl to be properly installed. Use of this module can save you weeks of debugging time and petalocks of hair.
  • DBI. I've been using it with DBD::myql, but for my rather basic purposes any decent DBD module will do.

Others worthy of serious consideration include Class::DBI, XML::Twig, Net::Server, WWW::Mechanize, Mail::Sendmail, Archive::Zip, File::Spec::Functions, and HTML::Tree. Each of these becomes invaluable if you find yourself needing to do the thing it's designed to do.

Also, HTML::Entities is worth knowing about just because it's so simple and easy to learn to use. It would be a much easier wheel to re-invent than the ones above, but then again, there's no need.

Someone will come along and say CGI, but I disagree and never use it, even though I do quite a lot of CGI stuff. It's bloated and gross and has a truly horrific API that is much more trouble to learn than the problem it solves is worth. (CGI is, after all, *not* a hard thing to implement.) I only recommend it to people who don't know their way around CGI already; otherwise my advice is to give this one a miss.

I also experimented with CGI::Lite but found that it is buggy, hides information from you that you need, does not handle file uploads correctly all of the time, and in general is not worth your time; you can roll your own replacement in less than half the time it will take you to figure out why it's messing up your data. Avoid.

P.S., from the node title I thought you were talking about castaway's im2-related modules.


In reply to Re: Desert Island Modules by jonadab
in thread Desert Island Modules by magnus

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (6)
As of 2024-04-25 18:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found