There's one important difference between warn vs. carp and die vs. croak. The later is "from perspective of caller". Loosing the distinction would be fairly bad.

If your subroutine complains about an invalid/missing parameter, it's pointless to tell the developer the position of the test, you want him to know the position of the call so you carp/croak. OTOH, if something goes crazy within the inner workings of the subroutine, it should warn/die.

You can turn croak() to confess() and carp() to cluck() by "use Carp qw(verbose);" or by "perl -MCarp=verbose script.pl" and it would be nice to be able to control warn() and die() like this as well, but definitely not by turning them to confess() and cluck(). You'd loose the first (several) frame(s)!

Jenda
Enoch was right!
Enjoy the last years of Rome.


In reply to Re: unified warnings, good or bad? by Jenda
in thread unified warnings, good or bad? by leocharre

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.