Я пытаюсь создать каталог, в следующем коде:Mkdir ошибка Perl: нет такого файла
# reads in files from a corpus
for my $corpusFile (glob("./Corpus/*.txt")) {
# makes part of the name of the file the name for a directory
my $file = substr ($corpusFile, 9, 6);
my $outputFiles = "./Output/$file";
mkdir $outputFiles unless -e $outputFiles or die "Cannot make file directory: $!";
Однако я получаю ошибку: Cannot make file directory: No such file or directory at perl/corpus.pl
Я не очень понимаю эту ошибку , Конечно, директория не существует - я пытаюсь ее создать.
Чтобы немного объяснить структуру файла: у меня есть большая папка, содержащая «выходную» папку и папку «perl» - мой код perl находится в папке «perl», и я пытаюсь создать каталог в «output». Я очень новичок в perl, поэтому прошу прощения, если ответ здесь очевиден.
'' Выход' существует? mkdir не будет рекурсивно создавать структуру для вас. –
Если $ file является каталогом, то почему он называется файлом? Если $ file - это каталог, тогда ваш тест должен быть -d не -e. Для рекурсивного создания dirs используется File :: Path. –
... как в прекрасном руководстве говорится: «Посмотрите на функцию make_path модуля File :: Path» – toolic