#! perl -slw
use strict;
sub scaleIt {
my( $size, $n ) =( shift, 0 );
++$n and $size /= 1024 until $size < 1024;
return sprintf "%.2f %s",
$size, ( qw[ bytes KB MB GB ] )[ $n ];
}
my $size = -s $ARGV[ 0 ];
print "$ARGV[ 0 ]: ", scaleIt $size;
__END__
P:\test>for %f in (data\*) do @test1 %f
data\10GB.dat: 9.77 GB
data\10Mrand.dat: 85.83 MB
data\10Mrand.pp: 0.00 bytes
data\10Msort.p: 0.00 bytes
data\10Msort.pp: 0.00 bytes
data\1mb.dat: 1.06 MB
data\1Mx16384.dat: 15.26 GB
data\1Mx4096: 3.81 GB
data\50mb.dat: 52.93 MB
data\5mb.dat: 5.29 MB
...
Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"Think for yourself!" - Abigail
"Memory, processor, disk in that order on the hardware side. Algorithm, algoritm, algorithm on the code side." - tachyon