#--------------------------------------------------- # Function:Format value in bytes in a string (Bytes, Kb, Mb, Gb)# Parameters: bytes (integer value or "0.00" # Input: None# Output: None# Return: "x.yz MB" or "x.yy KB" or "x Bytes" or "0"#---------------------------------------------------- my $bytes = shift||0;my $fudge = 1;# Do not use exp/log function to calculate 1024power, function make segfault on some unix/perl versionsif ($bytes >= ($fudge << 30)) { return sprintf("%.2f", $bytes/1073741824)." $Message[110]"; }if ($bytes >= ($fudge << 20)) { return sprintf("%.2f", $bytes/1048576)." $Message[109]"; }if ($bytes >= ($fudge << 10)) { return sprintf("%.2f", $bytes/1024)." $Message[108]"; }if ($bytes < 0) { $bytes="?"; }return int($bytes).(int($bytes)?" $Message[119]":"" ;}