This is one of the things that really drew me to Perl -- there was a rich set of well thought out basic functions, and a slew of additional bits designed for specific problem domains. (Think about trying to write socket code in a language that does not have the concept of 'network' as one of its fundamental data-constructs.)

I found out early on that I used around 30 'functions' over and over in every day working code. When I found myself jumping through hoops to do something, I usually found that there was already a Perl built-in that either was specific for the problem at hand or at least did 85% of the heavy lifting for me.

Over the years I have built my repertoire up to maybe 60 more functions. (These are built-ins that I have used often enough so that I recognize the hallmarks of the 'This is an xxx() kind of problem, go read perlfunc xxx' when it crops up in my coding.) Over the years, I have been primarily doing data munging and system administration, so my tool set is somewhat asymmetric. But, I suspect that this is not unusual, everyone knows the functions that are specific to the Usual Problem that they face every day.

I have encountered the same phenomena in CPAN as well. I have settled on a core of maybe 15 modules that address my run-of-the-mill problems, and around 100 that have been used a couple or three times. I may not have not used them much, but when I needed it they were Just The Thing the Doctor Ordered(tm).

I love the fact that TIMTOWTDI is embedded in the fabric of the Perl. I may not take advantage of all of the alternate solutions available (this worked last time ....), but when you need it, the fact that there are alternative solutions designed into the language can be a glorious thing. It keeps the Language from growing stale -- I always have some new nook to explore.

----
I Go Back to Sleep, Now.

OGB


In reply to Re: functional functions by Old_Gray_Bear
in thread functional functions by punkish

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.