Я новичок в Perl и пытаюсь писать текстовые файлы.Я могу писать текстовые файлы в существующий каталог без проблем, но в конечном итоге я хотел бы иметь возможность создавать свои собственные каталоги.
Я собираюсь загрузить файлы с веб-сайта курсовых работ и хочу поместить файлыв папке, названной в честь курса.Я не хочу заранее создавать папку для каждого курса, и я также хотел бы в конечном итоге поделиться сценарием с другими, поэтому мне нужен способ создавать каталоги и присваивать им имена на основе названий курсов из HTML.
Пока я смог заставить это работать:
use strict;
my $content = "Hello world";
open MYFILE, ">C:/PerlFiles/test.txt";
print MYFILE $content;
close (MYFILE);
test.txt
не существует, но C:/PerlFiles/
делает, и якобы ввод >
позволяет мне создатьфайлы, отлично.
Следующее, однако, не работает:
use strict;
my $content = "area = pi*r^2";
open MYFILE, ">C:/PerlFiles/math_class/circle.txt";
print MYFILE $content;
close (MYFILE);
Каталог C:/PerlFiles/math_class/
не существует.
Я также пытался sysopen
, но яПри добавлении флагов выдается ошибка:
use strict;
my $content = "area = pi*r^2";
sysopen (MYFILE, ">C:/PerlFiles/math_class/circle.txt", O_CREAT);
print MYFILE $content;
close (MYFILE);
Эта идея пришла из Кулинарной книги Perl глава 7.1.Открытие файла .Это не работает, и я получаю сообщение об ошибке Bareword "O_CREAT" not allowed while "strict subs" in use
.С другой стороны, книга 1998 года, поэтому, возможно, O_CREAT
устарела.В какой-то момент я думаю, что мне понадобится раскошелиться на тесто для последней версии.
Но все же, чего мне здесь не хватает?Или каталоги должны быть созданы вручную перед созданием в нем файла?