当我突然意识到我无法写入文件时,我正在处理脚本。
我已经能够了解这段代码:
use strict;
use warnings;
open(my $out, '>>', 'log.txt') or die "$!";
print $out "test";
while(1){
sleep 1;
}
我尝试通过设置$ |来取消缓冲= 1。
我正在制作一个每10分钟运行一次的程序,所以我在睡觉时等待10分钟。
答案 0 :(得分:3)
除非您在选择$|
时将$out
设置为1,否则您没有做任何事情。
如果你的perl非古老,请写
$out->autoflush(1);
如果您的perl很古老,请写
my $prev = select($out);
$| = 1;
select($prev);