Perlfunc: human_size() 2006-11-29 03:46pm
I always end up wanting a simpler and human readable version of a file's size. So given a file's size in bytes, this function returns a human readable version of that size.
sub human_size {
my $size = shift();
if ($size > 1024**3) {
$size = sprintf("%.1fG",$size / 1024**3);
} elsif ($size > 1024**2) {
$size = sprintf("%.1fM",$size / 1024**2);
} elsif ($size > 1024) {
$size = sprintf("%.1fK",$size / 1024);
} elsif ($size > 1) {
$size = sprintf("%dB",$size);
}
return $size;
}




