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

Re: Stupid mistakes I repeatedly make

by smalhotra (Scribe)
on Mar 29, 2005 at 01:52 UTC ( [id://443019]=note: print w/replies, xml ) Need Help??


in reply to Stupid mistakes I repeatedly make

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 $$;

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://443019]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (5)
As of 2024-03-29 11:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found