use File::Finder; my @bloatedFiles = File::Finder ->size('+8192') ->not->name(qr/back|archiv|ora?/) ->collect(sub {[$File::Find::name => -s _]}, '/'); @bloatedFiles = map $_->[0], sort { $b->[1] <=> $a->[1] } @bloatedFiles; splice(@bloatedFiles, 100) if @bloatedFiles > 100;