use strict; use Devel::Size qw(total_size); my $x = 'a' x (2**30); print "Devel::Size = ".human(total_size($x))."\n"; open my $cmd, qq(tasklist /NH /FI "PID eq $$"|) or die; while (<$cmd>){ print qq(tasklist PID $$ = $1\n) if /(\S+\s\w{1,2}$)/} sub human{ my $size = shift; my @order= qw/Tb Gb Mb Kb byte/; if($size<1024){return"$size byte"} while ($size >= 1024){$size=$size/1024;pop @order;} return sprintf("%4.2f %2s", $size, (pop @order)); } __END__ Devel::Size = 1.00 Gb tasklist PID 37288 = 2.104.612 K