gpt4 book ai didi

perl - 如何解决 Perl 中的 "print() on closed filehandle"错误?

转载 作者:行者123 更新时间:2023-12-03 03:37:34 25 4
gpt4 key购买 nike

我在执行 Perl 脚本时收到此错误。请告诉我如何在 Perl 中纠正此错误。

print() on closed filehandle MYFILE

这是给出错误的代码:

sub return_error
{
$DATA= "Sorry this page is corrently being updated...<p>";
$DATA.= "<A href=\"javascript:history.go(-1)\"> Back </A>";
open(MYFILE,">/home/abc/xrt/sdf/news/top.html");
print MYFILE $DATA;
close(MYFILE);
exit;
}

我希望现在我更清楚了。

最佳答案

在您(或解释器本身由于错误)关闭 MYFILE 后,您想要对它执行一些操作。

根据您的代码示例,问题可能是 open 并未真正打开文件,脚本可能没有写入该文件的权限。

将代码更改为以下内容以查看是否有错误:

open(MYFILE, ">", "/home/abc/xrt/sdf/news/top.html") or die "Couldn't open: $!";

更新

ysth指出 -w 并不擅长检查是否可以写入文件,它只是“检查模式中的相关标志之一是否已设置”。此外,brian d foy告诉我我使用的条件不能很好地处理错误。所以我删除了误导性的代码。请改用上面的代码。

关于perl - 如何解决 Perl 中的 "print() on closed filehandle"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/929586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com