my $dn = '.'; my @f; opendir(my $dh, $dn) or die; while ( @f < 5 && defined( my $filename = readdir($dh) ) ){ next if $filename=~/^\.\.?\z/; push @f, $filename; }