in reply to Stupid mistakes I repeatedly make
OK, here are mine.
or its companion:open OUT ">$output_file" or die $!;
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:print OUT, "foo bar baz\n";
open my $out, '>', $output_file or die $!;
Here's another one (I've already given up all hope with this one):
Why? WHY???push @foo = 'bar'; # aaaaargh!!!
A whole raft of them all have to do with precedence mixups:
(That's three precedence bugs, one per line. At least.)my $foo = $bar or $baz; print "You have $foo foo" . $foo==1?'':'s' . ":\n"; my @frobozz = map foo($_) or bar($_), @baz;
Correction: Make that 4.
And the forgotten semi-colons (2 bugs, at least):
...though my editor usually helps me with these.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');
And the meanest of them all:
Ouch.eval { "require $foo; 1" } or die "Where's $foo?\n"; print $foo->happiness();
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
In Section
Meditations