Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: Stupid mistakes I repeatedly make

by smalhotra (Scribe)
on Mar 29, 2005 at 01:52 UTC ( #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?

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (6)
As of 2021-04-23 14:48 GMT
Find Nodes?
    Voting Booth?

    No recent polls found