ブックマーク / mikeda.hatenablog.com (1)

  • Perlでバッファリング抑止 - mikedaの日記

    前回の続きです。 Perlの出力バッファリングを抑止したいときはオートフラッシュを有効化します。 そうするとprint、printf、writeを実行するごとにバッファがフラッシュされる、つまりprint、即出力が実現できます。 じゃやってみます。 標準出力のオートフラッシュ $|変数に1を代入します。元に戻すのは$|=0です。 (use English;$OUTPUT_AUTOFLUSH=1;としてもいいですが、まぁやる人いませんよね) #! /usr/bin/perl $|=1; for(1..5){ print; sleep 1; } $|=0 ファイルハンドル他のオートフラッシュ $|によるオートフラッシュの設定は、現在selectされている出力ハンドルに対して働きます。 なので設定したい出力ハンドルをselectしてから$|=1をしてやればOKです。 (selectの返り値使って

    Perlでバッファリング抑止 - mikedaの日記
  • 1