perl中如何使缓冲区自动刷新
回复 #3 xdwjack 的帖子
$|将对当前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)则没有问题。