sleep関数とprint出力(バッファリングについて)
sleep関数を覚えたので、試しにこんなのを作ってみた。
#!/usr/bin/perl use strict; use warnings; while(){ my $delaytime = int( rand(60) ); print "sleeping $delaytime second\n"; for(my $i=0;$i<$delaytime;$i++){ sleep(1); print '.'; } print "\n"; }
が、うまく動かない。
調べてみると、原因はどうやらprintにあるらしい。
http://x68000.q-e-d.net/~68user/webcgi/buffering.html
printって、こんな風に動いてたのか、と一つ勉強になった次第。