Ниже приведен код для сравнения:
use Benchmark;
my $dir_name = 'a network path';
timethese(-2, {
scalar => sub {
opendir(my $dir, $dir_name);
while(my $entry = readdir($dir)) {
}
},
list => sub {
opendir(my $dir, $dir_name);
my @entries = readdir($dir);
},
});
Результаты были довольно похожи на моей машине / сети (WinXP и удаленный ресурс), однако немного в пользу scalar
версии.