加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl如何立即刷新文件缓冲区

发布时间:2020-12-16 00:07:09 所属栏目:大数据 来源:网络整理
导读:perl中如何使缓冲区自动刷新 ?? 回复 #3 xdwjack 的帖子 perldoc -f select 复制代码 $|这个变量是和对应的文件句柄挂钩的 默认对STDOUT操作 你如果想操作其他文件句柄就要先select,写的tricky一点,比如你想设置$filehadler这一文件句柄的auto flush则 sel
perl中如何使缓冲区自动刷新
??  

回复 #3 xdwjack 的帖子

  1. perldoc -f select
复制代码

$|这个变量是和对应的文件句柄挂钩的
默认对STDOUT操作
你如果想操作其他文件句柄就要先select,写的tricky一点,比如你想设置$filehadler这一文件句柄的auto flush则
  1. select (select ($filehandler),$|=1)[0];
复制代码

? ? ? ?$|将对当前select的FILEHANDLE起作用,默认是STDOUT。   使用方法如下:   $old = select FILEHANDLE;   $| = 1; #autoflush   select $old;      对某些对象,还可以直接使用autoflush方法,方法如下:   use IO::Socket;   $socket = IO::Socket::INET->new(...);   $socket->autoflush(1); #但经过测试,似乎不起作用,不清楚为什么 附:不起作用的原因是使用了类似 $message = <$socket>这样的用法,使用<>应该会等有回车才会返回,导致程序会停在这个语句上。如果使用$socket->recv($message,1000)则没有问题。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读