Как мне разрешить ошибку «print() при закрытом дескрипторе файла» в Perl?
Похоже, что вызов open
не работает. Вы infile должны всегда проверять статус perl5 при открытии дескриптора output-files файла.
my $file = '/home/abc/xrt/sdf/news/top.html';
open(MYFILE, ">$file") or die "Can't write to file '$file' [$!]\n";
print MYFILE $DATA;
close MYFILE;
При неудачном открытии perl5 встроенная переменная $! (он output-file же $ OS_ERROR) будет содержать input-files сообщение об ошибке, зависящее output-files от ОС, например «В разрешении input-file отказано»
Также предпочтительно outfile (для неархаичных версий Perl) использовать perl5 форму с тремя аргументами output-file open
и лексические дескрипторы outfile файлов:
my $file = '/home/abc/xrt/sdf/news/top.html';
open(my $fh, '>', $file) or die "Can't write to file '$file' [$!]\n";
print {$fh} $DATA;
close $fh;
perl
file-io
Как мне разрешить ошибку «print() при закрытом дескрипторе файла» в Perl?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.