Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Stupid mistakes I repeatedly make

by tlm (Prior)
on Mar 27, 2005 at 14:28 UTC ( [id://442623]=note: print w/replies, xml ) Need Help??


in reply to Stupid mistakes I repeatedly make

OK, here are mine.

open OUT ">$output_file" or die $!;
or its companion:
print OUT, "foo bar baz\n";
Although I've noticed a certain improvement with the first one of these ever since I started using the "extended form" of open and lexical handles:
open my $out, '>', $output_file or die $!;

Here's another one (I've already given up all hope with this one):

push @foo = 'bar'; # aaaaargh!!!
Why? WHY???

A whole raft of them all have to do with precedence mixups:

my $foo = $bar or $baz; print "You have $foo foo" . $foo==1?'':'s' . ":\n"; my @frobozz = map foo($_) or bar($_), @baz;
(That's three precedence bugs, one per line. At least.)

Correction: Make that 4.

And the forgotten semi-colons (2 bugs, at least):

eval { what() if $i == do { this() }; } die $@ if $@; my $coderef = sub { my $name = shift; return "don't worry $name, be happy\n"; } print $coderef->('Pustular');
...though my editor usually helps me with these.

And the meanest of them all:

eval { "require $foo; 1" } or die "Where's $foo?\n"; print $foo->happiness();
Ouch.

There are many more that routinely chomp my monkly butt, but reliving all these bugs at once is beginning to give me the shakes...

the lowliest monk

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (4)
As of 2024-04-19 22:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found