Прежде всего, вы должны всегда иметь эти две строки в каждом скрипте и модуле:
use strict;
use warnings;
Эти строки дадут вам много ошибок и подсказок, которые скажут вам, что выотсутствуют.
Во-вторых, вам нужно проверить возвращаемое значение команды opendir
, так как она возвращает ошибку, если не удалось открыть каталог (например, если он не существует).Переменная $!
содержит самое последнее сообщение об ошибке.Если вы напечатаете точное имя файла в сообщении об ошибке, которое пытались открыть, вы увидите, неверна ли спецификация вашего файла:
opendir (my $dir, $ARGV[0]) or die "Cannot open $ARGV[0]: $!";
my @files = readdir($dir);
closedir($dir);
Если спецификация вашего каталога является относительной, и вы находитесь в неправильном каталоге,Вы можете изменить каталоги с помощью chdir .
Спецификации для команды opendir находятся в perldoc -f opendir .Вы можете прочитать о специальных переменных в perldoc perlvar .