#!/usr/bin/perl use File::Find; my $dir = $ARGV[0] || '.'; find( sub { -f and $h{$File::Find::name} = -s }, $dir ); print "$h{$_}\t$_\n" for sort { $h{$b}<=>$h{$a} } keys %h;