You don't have to ask me twice to crack a favorite beverage... done.
I've inherited a lot of crappy code, some of it in Perl (but to be fair, lots more in Java). A few years ago I had to change a script with this code to to add leading zeroes to day and month values less than 10:
sub add_zero { $x = shift; return $x if ( $x > 9 ); return ( '0' . $x
+) if ( $x < 10 ); }
I'm not proud of this but I'll admit I "fixed" it with this:
sub pad
{
my $n = shift;
return $n if $n =~ /\D/;
return $n > 9 ? $n : "0$n";
}
I've never gotten around to fixing that because it always works... so far. But maybe this would be better? (suggestions welcome)
$n = $n =~ /^\d/ ? sprintf('%02d', $n) : $n;
There is lots more, mostly not mine, some definitely more WTF, but it will take some time to dig through the CVS history and pull out the most entertaining.