Greetings, Earth^WMonks.

Imagine a guy who knows basics of Perl. Well, at least he thinks so (and he has some spagetthi code to prove it :). He sits down and says: "Lets write a program to do foo". He doesn't want to revolutionize the world with it, or conquer the market, or start some new community of devoted users - he just want to check his Perl skills in practice, in bigger project. And so...

... is there already a program that does foo? Well? Hm, maybe not. Or maybe there is, but our hero is pretty stuborn and still insists on writting one for himself. And so, the crosroads.... MODULES. There is no need to write basic things, lets use existing CPAN modules, tested by others. But *which*?

My question is this: can you please make a list of 'must-know' modules, or handy modules. These, that you can say 'How can you write foo program without Foo::Barbize module?'. And I mean both obvious ones (like DBI for DB access :) and less popular/known ones. Tell me what do you use in your everyday programming, and why this module is worth looking at. Tell me if you have any favourite perl-army knife :)

I know I can just plunge into CPAN, read documentation to every module there, and after that (assuming I'm still sane :) judge for myself which module should I use. I know also, that without specyfing exact area of programming (i.e. HTML parsing) this question can have tons of answer. But anyway, it was curiosity that killed the cat...


In reply to On the crossroads by yacoob

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



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.