$opt{width} ||= $ENV{COLUMNS} || 80;
$opt{color} //= -t *STDOUT; # enable on tty
$opt{trim} *= $opt{width} / 100 if $opt{trimpct};
-$opt{units} = $opt{'human-readable'} && ['', qw( k M G T P E Z Y y z a f p n μ m )];
+$opt{units} = [split //, ' kMGTPEZYyzafpnμm'] if $opt{'human-readable'};
$opt{anchor} //= qr/\A/;
$opt{'value-length'} = 6 if $opt{units};
sprintf('%*.*f%*s',
$float ? 5 : 3, $float, # length and tenths
$_[0] / 1000 ** $unit, # number
- $float ? 1 : 3, # unit size
+ $float ? 0 : 3, # unit size
$#{$opt{units}} >> 1 < abs $unit ? "e$unit" : $opt{units}->[$unit]
);
}