Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

comment on

( [id://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

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (2)
As of 2024-04-20 03:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found