【发布时间】:2011-05-04 21:06:36
【问题描述】:
我有一些代码附加到嵌套 for 循环中的一些文件中。退出 for 循环后,我想将 .end 附加到所有文件。
foreach my $file (@SPICE_FILES)
{
open(FILE1, ">>$file") or die "[ERROR $0] cannot append to file : $file\n";
print FILE1 "\n.end\n";
close FILE1;
}
我注意到在一些奇怪的情况下,“.end”被附加到文件的中间!
我该如何解决这个问题??
【问题讨论】:
-
添加“.end”部分后,您确定没有写入另一个进程中的文件吗?正如您编写的代码一样,您所描述的绝对不应该发生。
-
这对我来说非常好用。 @SPICE_FILES 的内容是唯一的吗?你写的不是“.end”吗?
-
你在哪个平台上工作?
-
考虑到下面的好答案,我想知道在尝试打印结束标记之前确保任何以前打开的文件句柄都被明确关闭是否可能无济于事。
标签: perl