我喜欢让我的脚本在执行时打印出进度报告,这样我就可以知道它们是否在工作以及我需要等待多长时间。但是 perl 似乎在最后打印所有输出,而不是在执行命令时打印。例如,这个程序等待 10 秒,然后同时打印“before pauseafterpause”:
print("before pause");
sleep 10;
print("after pause");
我也尝试过同样的结果:
my $filename="out";
open(OUT, ">>$filename");
print OUT "before pause";
sleep 10;
print OUT "after pause";
无论我是在本地运行还是提交到集群,都会发生这种情况。
我知道这可以通过运行其他人编写的 perl 脚本来实现。但是通过查看他们的代码,我无法判断他们是如何做到的。谁能启发我?谢谢!