Perl Tips: バッファリングを止める
2023/12/17 |
Perl Tips [Prev] [Next] [Perl Top] |
出力はバッファリングされている
#!perl -w use strict; for (my $i=1; $i<4; $i++) { sleep(1); print "$i\n"; } >test.pl 1 2 3 #!perl -w use strict; for (my $i=1; $i<4; $i++) { sleep(1); print "$i\r"; } >test.pl 3 # 1,2は表示されない バッファリングを止める
#!perl -w use IO::Handle; use strict; STDOUT->autoflush(1); # STDOUT(標準出力)のautoflush有効化(引数に1設定) for (my $i=1; $i<4; $i++) { sleep(1); print "$i\r"; } >test.pl 3 # 1,2も表示されたと思います #!perl -w use IO::Handle; use strict; my $fh; open($fh, "> hoge.txt") or die; # 変数にファイルハンドル紐づけ $fh->autoflush(1); # ファイルハンドルのautoflush有効化(引数に1設定) for (my $i=1; $i<10; $i++) { sleep(1); print $fh "$i\n"; # ファイル出力(autoflush有効) print "$i\n"; # 画面出力(改行付なのでautoflushに関係なく出力) } close(); |
Copyright(C) 2023 Altmo
本HPについて |
Perl Tips [Prev] [Next] [Perl Top] |