Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
Sorry about taking so long to get back on this. The discussion is rather long and energy is limited.

First of all CGI is a poor example. It is used in a large number of environments and there is no well-defined way to report an error. That makes reporting errors hard. (Indeed the lack of a universal way to report errors in CGI scripts is one of the reasons why the web is such a painful application platform.)

LWP I would need to look at in more detail. But note that with older versions of Carp the reliance on inheritance was seriously buggy. So even if someone wanted to use the kind of behaviour I defined it was unusable. But the beginning hack that direction goes back quite a few years. I don't know what was originally intended, but it has incorporated (admittedly only half-way) those ideas since at least 5.003.

But I do have a big disagreement with you, which probably has a lot to do with the different kinds of things we do. I do a lot of batch-processing. There you almost always want to do all of your work in some temporary area, and then when it is all done roll it into production areas. In essence you open a "transaction", do your work, and then "commit" it.

In that environment you want virtually every error to be fatal. If anything went wrong in processing, don't mess up your production data. Instead die a horrible flaming (but informative) death and leave your current state lying in place so that in the morning a test case can be quickly constructed without redoing an hour or two of processing.

Therefore I issue few non-fatal warnings. Instead I terminate with prejudice.

Now your example of a BEGIN issue with circular requires bugs me. If you start using circular inheritance in Perl you will get a lot of problems very, very fast. That is a Don't do that. You are asking for trouble. Therefore rather than trying to figure out how to dodge a few bullets I would suggest rethinking your design to not want to be doing something so inherently fraught with risk.

Without seeing specific examples of what else is supposed to be wrong, I don't know whether to discount them as well. But considering that I have never been bitten, and I am not seeing examples which would bite me, I will continue to be unconvinced on that issue.

YMMV. (And in fact apparently does.)

In reply to Re (tilly) 5: Supersplit by tilly
in thread Supersplit by jeroenes

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, 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, 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.
  • Log In?

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

    How do I use this? | Other CB clients
    Other Users?
    Others taking refuge in the Monastery: (6)
    As of 2021-03-05 22:45 GMT
    Find Nodes?
      Voting Booth?
      My favorite kind of desktop background is:

      Results (115 votes). Check out past polls.