Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
The ones I find most annoying are those that are hard to debug (but you know to look for them after the first dozen times). Another one that I have fallen for a number of times is in list/hash creation calling a function/method that can return and empty list:

my $var = { a => func(), b => $var };             ## e.g. CGI->param(), or XML::Xerces::DOMDocument->getElements
if func() simply does a return; then the hash becomes { a => b, $var => undef } normally that will give you a 'odd-number of elements in hash assignment' warning, but do it twice in one list and you're out of luck. Sometimes I wish '=>' could force scalar context on the right operand.

Of course the: print Dumper $var; without use Data::Dumper;. This one time I had an app that seemed to be doing everything write, except writing it's data. Some of it would be there, some would not, all the filehandles were being opened successfully. Finally after about an hour of debugging everything, and thinking the system was haunted, I changed one of the lines to $fh->print($data) or die $!. $! told me the disk was out of space. Turned out that another unrelated app was continuously forking and coreing. The cleanup app would barely free some space for me to write some data before the disk filled up again!

$will->code for @food or $$;


In reply to Re: Stupid mistakes I repeatedly make by smalhotra
in thread Stupid mistakes I repeatedly make by brian_d_foy

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 scrutinizing the Monastery: (3)
As of 2024-03-28 15:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found