#!/usr/bin/perl use strict; use warnings; use Benchmark qw(:all); my %folders = (    Temp1 => 10,    Temp2 => 100,    Temp3 => 1000,    Temp4 => 5000,    Temp5 => 10000,    # Temp6 => 20000, ); foreach my $folder (sort keys %folders) {    print "Folder: $folder, Files: ", $folders{$folder}, "\n";    timethese(5, {        'Pq' => sub {            foreach my $file (glob "$folder/*") {                my $filename = $file;                if(-f $filename) {                #   print STDERR "$filename\n";                }            }        },        'Strat' => sub {            opendir(my $DIR, $folder) or die "Error: couldn't open dir '$folder': $!\n";            my @files = map { "$folder/$_" }         # file => path/file                grep { -f "$folder/$_" } # wenn datei und .txt                readdir($DIR);            closedir($DIR);            foreach my $file (@files) {                my $filename = $file;              #  print STDERR "$filename\n";            }        },        'Esskar' => sub {            opendir(my $DIR, $folder) or die "Error: couldn't open dir '$folder': $!\n";            while(my $file = readdir $DIR) {                my $filename = $folder . '/' . $file;                if(-f $filename) {                # print STDERR "$filename\n";                }            }            closedir($DIR);        },    }); }