fsck のスキャンの進捗みたいに ================================> [46%] というのを表示したい場合、\r をまず print して、1行(改行無し) print すればよい 画面の幅が 80 と仮定して $| = 1; $end = 100; foreach (1..$end) { my $len = $_/$end*100; print "\r" . ("="x int($len/10*7)) . "> " . (" "x (70-int($len/10*7))) ."[$len%]"; # select undef, undef, undef, 0.05; # ループ処理 } 見たいな感じで。 動かせばわかる:) $| を真にして、出力をフラッシュするのを忘れないように。