Perlの出力でバッファリングせずに、すぐ出力するには、下記の行を実行します。
use IO::Handle; STDOUT->autoflush(1);
次のプログラムはサンプルです。
0 1 2 … と表示するものですが、実行してもすぐには表示が出ません。
出力がバッファリングされているためです。
#!/usr/bin/perl $i = 0; while( true ){ print "$i "; $i++; sleep( 1 ); }
次のように太字の行を追加します。
これを実行すると、すぐに 0 1 2 … と表示されます。
#!/usr/bin/perl <strong>use IO::Handle;</strong> <strong>STDOUT->autoflush(1);</strong> $i = 0; while( true ){ print "$i "; $i++; sleep( 1 ); }
コメント