#!/usr/bin/perl  use strict;  use warnings;  use vars qw(%files);  opendir(DIR, '.') or die $!;  $files{$_} = -s for grep -e && -f, readdir( DIR );    closedir(DIR);  printf("%s\t%s\n", human_readable_fsize($files{$_}), $_ )       for sort { $files{$a} <=> $files{$b} } keys %files;  sub human_readable_fsize {      my(@units) = qw(Bytes KB MB GB TB);      my $i = $_[0] >= 1099511627776 # 1024 ** 4                  ? 4 : $_[0] >= 1073741824 # 1024 ** 3                      ? 3 : $_[0] >= 1048576 # 1024 ** 2                          ? 2 : $_[0] >= 1024                              ? 1 : 0;      return sprintf('%.2f %s', $_[0] / 1024 ** $i, $units[$i]);  }