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

前端之家收集整理的这篇文章主要介绍了如何控制Perl中缓冲区刷新的时间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在Perl中对缓冲进行更多控制?我知道我可以使用autoflush立即冲洗缓冲区,或者我什么都不做,让Perl在感觉就好时冲洗.

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

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

解决方法

But can I change the buffer size?

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

从5.14开始,可以在构建Perl时选择每个文件句柄缓冲区的大小(通过将-Accflags = -DPERLIOBUF_DEFAULT_BUFSIZ = num_bytes传递给Configure).默认值为8192个字节.

Or can I force a flush every,say,30 seconds?

你可以随时强制冲洗.

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

猜你在找的Perl相关文章