+my @units = qw/b k M G/;
+sub unit {
+ my $v = shift;
+
+ my $o = 0;
+
+ while ( ( $v / 10000 ) >= 1 ) {
+ $o++;
+ $v /= 1024;
+ }
+
+ if ( $v >= 1 ) {
+ return sprintf("%d%s", $v, $units[$o]);
+ } elsif ( $v == 0 ) {
+ return 0;
+ } else {
+ return sprintf("%.1f%s", $v, $units[$o]);
+ }
+}
+