Вы писали:
opendir (DIR, $dir) or die "Impossible d'ouvrir $dir: $!";
@listeFichiers = grep {/\.mem$/ && -f "$dir/$_"} readdir (DIR);
while (my $ouvRep = readdir(DIR))
Как только вы заполните @listeFichiers
, readdir(DIR)
ответит undef
или ()
в зависимости от скалярного или списка контекста. Итак, ваш цикл while будет повторяться ноль раз.
Зачем вам нужен цикл while? У вас уже есть список файлов, которые вы хотите.
Если вы решите, что вам это действительно нужно, то closedir
и opendir
до того, как
opendir (DIR, $dir) or die "Impossible d'ouvrir $dir: $!";
@listeFichiers = grep {/\.mem$/ && -f "$dir/$_"} readdir (DIR);
closedir DIR;
opendir (DIR, $dir) or die "Impossible d'ouvrir $dir: $!";
while (my $ouvRep = readdir(DIR))
Или вы можете позвонить rewinddir
до второго while
цикла.
opendir (DIR, $dir) or die "Impossible d'ouvrir $dir: $!";
@listeFichiers = grep {/\.mem$/ && -f "$dir/$_"} readdir (DIR);
rewinddir (DIR);
while (my $ouvRep = readdir(DIR))