第一章:设置无缓冲

 1 #用select, 要先select一个句柄, 用完后记得select回原来的
 2 open FILE, ">log.txt";
 3 select FILE;
 4 $| = 1;
 5 #$|为true时设置FILE为无缓冲
 6 print FILE "The log file data";
 7 #print "The log file data";
 8 select STDOUT;
 9 #上面的打印不会经过缓冲而直接写进文件log.txt
10 close FILE;
11 
12 #方法二
13 use IO::Handle;
14 open DATA, ">err.log";
15 DATA->autoflush(1);
16 print DATA "login errot";
17 DATA->close;
18 
19 # 其实第6行的文件句柄可以去掉
20 
21 # 如果你选择了一个句柄, print默认的输出方向就是你select那个
22 
23 # 最好用完后恢复stdout
原文地址:https://www.cnblogs.com/perl6/p/6424190.html