Next | Program Repair Shop | 64 |
124 if ($Integer < 10) { 125 return "0000".$Integer; 126 } elsif (($Integer >= 10) and ($Integer < 100)) { 127 return "000".$Integer; ...
The right answer here is to use sprintf:
return sprintf "%05d", $Integer;
10 lines become 1
But what if you don't know about sprintf?
You still should not repeat code
With every feature of the language working for you, there is always a solution:
my $n_zeroes = 5 - length($Integer); my $zeroes = '0' x $n_zeroes; return $zeroes . $Integer;
10 lines become 3
continued...
Next | Copyright © 2002 M. J. Dominus |