If you would only need to (poorly*) implement half of a module's functionality, then it means that by using it, your are also loading the other half of its functionality that you do not need. And that is deadweight.

Actually Moose and Class::MOP between them use every single function Text::Exception exports. Ack through the test suite for yourself and see how pervasive it is. In general I would agree with the sentiment you have there, but Test::Exception is (ironically) the Exception that disproves this rule.

As for 17 dependencies, I'm not sure where that number came from for Test::Exception, by my count it has 6 dependencies. One of the dependencies Sub::Uplevel is not a core Module, it in turn depends on Carp and Test::More. The rest of those dependencies are on dual life modules, sometimes that exist in a single dist (Test::Simple, Test::More, and Test::Builder are all explicitly named although last I checked they came in the same dist) and depend on versions that exist in 5.8.9's core but not in earlier core Modules. So if you are running perl 5.10.0 which has been out over a year, or 5.8.9 which has been out since December, you'll have those dependencies in core.


In reply to Re^8: Modern Perl Programming Highs and Lows by perigrin
in thread Modern Perl Programming Highs and Lows by derby

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.