I once wrote this little thing, for a file listing script. It doesn't take into acount decimals or negative numbers, since file sizes are always positive (should be ;)
local $\="\n";
sub HUMANo {
my $n = shift;
my $c = 3;
my $Ln = length($n);
return $n if $Ln <= 3;
while($c <= $Ln) {
substr($n, - $c, 0, ','); # insert
$c += 4;
}
return $n;
}
print HUMANo($_) for qw[ 1 11 111 1111 11111 111111 1111111 ];
__END__
1
11
111
1,111
11,111
111,111
1,111,111
Doesn't look any simpler to me though.
MJD says you
can't just make shit up and expect the computer to know what you mean, retardo!
** The Third rule of perl club is a statement of fact: pod is sexy.
|