如何控制Perl中缓冲区刷新的时间

itz*_*tzy 4 perl

如何在Perl中对缓冲进行更多控制?我知道我可以autoflush立即使用冲洗缓冲区,或者我什么都不做,让感觉像Perl冲洗.

但我可以更改缓冲区大小吗?或者我可以每隔30秒强制冲洗一次吗?

我想知道如何为文件句柄或STDOUT执行此操作.我已经尝试过阅读IO::Handle文档,但无法弄清楚我需要什么.

ike*_*ami 9

但我可以更改缓冲区大小吗?

在5.14之前,每个文件句柄缓冲区的大小为4096字节.

自从5.14,当Perl是内置(通过传递,可以选择每一个文件句柄的缓冲区的大小来).默认值为8192个字节.-Accflags=-DPERLIOBUF_DEFAULT_BUFSIZ=num_bytesConfigure

或者我可以每隔30秒强制冲洗一次吗?

你可以随时强制冲洗.

use IO::Handle qw( );   # Not needed in 5.14+
$fh->flush();
STDOUT->flush();
Run Code Online (Sandbox Code Playgroud)