- 締切済み
Perlで、経過をLoading画面みたいに表示したい。
汚いソースですみません。 コマンドプロンプトから以下のプログラムを実行すると、 $n=@list; for ($i=1; $i<@list; $i++){ print push(@percentage int(eval("$zentai"/"$n"*100))); print "$percentage[-1]\%進行中...File$i\n"; } 結果は 0%進行中...File1 0%進行中...File2 2%進行中...File3 というように、どんどん下に向かって新たな結果が出てくるのですが、 「進行中...File」の部分は常に同じで、画面上にはそれ1つしか出ずに、 ローディング画面のように数字のところだけが変わるプログラムにするには、どうしたら良いでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- rafysta
- ベストアンサー率45% (24/53)
use Term::Activity; my $n = @list; my $ta = new Term::Activity 'Now start...'; for(my $i = 0; $i < $n; $i++){ sleep 0.9; my $percentage = $i / $n * 100; $ta->relabel("$percentage%進行中...File$i"); $ta->tick; }
- Ethersky
- ベストアンサー率71% (168/235)
$n=@list; for ($i=1; $i<@list; $i++){ print push(@percentage int(eval("$zentai"/"$n"*100))); &progress("$percentage[-1]\%進行中...File$i"); } sub progress { my($p) = @_; my($copy); $copy = $\; $\ = "\r"; print $p; $\ = $copy; }
- NINJA104
- ベストアンサー率43% (133/306)
>print "$percentage[-1]\%進行中...File$i\n"; の末尾 \n を \r にしてみるとどうですか? 参考にどうぞ。 http://seclan.dll.jp/cccrlf.htm