Last Update 2008/05/18
0以外の値をセットするとwriteやprintを実行した際にバッファをフラッシュするようになります。
(例)
print "aaa";
sleep(1);
print "bbb";
sleep(1);
print "ccc";
# 行バッファリングされるためここで初めて表示される
print "\n";
$| = 1;
# この変数を0以外の値にセットするとバッファがフラッシュされ、
# printを実行した瞬間に表示される
print "ddd";
sleep(1);
print "eee";
sleep(1);
print "fff";
print "\n";
# 改行を待たずにddd、eee、fffの順に表示する
実行結果(時間差で表示される)
aaabbbccc
dddeeefff