use strict; use warnings; use File::Find; my $dir = 'C:\Download'; my $max_size = 25*1024*1024; #25 Mo opendir DIR, $dir or die; my @large_files = grep {stat("$dir/$_"))[7] > $max_size} readdir(DIR); closedir DIR or die; # or recursively find( \&wanted, $dir ); sub wanted { (stat)[7] > $max_size and push @large_files, $File::Find::name; }