$|(ダラー縦棒) ってなんだ。
$| 使うとどうなるのか、色々見てみた。
例えば、
print "a";
sleep 2;
print "b";
↑を実行すると、結果は a が表示される前に、2秒sleepし、ab が一緒に表示される。
ここで、
$| = 1;
print "a";
sleep 2;
print "b";
とすると、結果は a が表示されたあと、2秒sleepし、b と表示される。
例えば、
print "a\n";
sleep 2;
print "b\n";
とすると、結果は a が表示されたあと、2秒sleepし、b と表示される。
何も指定しないと、$| はデフォルト 0 。
一行でコマンドと判断するか、複数行にまたがってもコマンドと判断するか・・。ってところなのかなー。