Time::Progressでプログレスバーを実現する。
ひょっとしたら役に立つかもしれないけど、基本的には無駄な知識です。あしからず。
サンプルソース
#!/usr/bin/perl use strict; use warnings; use Time::Progress; my @actions = qw(setup prepare accept finalize); my $progress = Time::Progress->new; $progress->attr(min => 0, max => 100); print "Sample Progress Bar: \n"; { local $| = 1; for (my $c = 0; $c <= 100; $c += 5) { if ($c % 25 == 0) { my $action = $actions[($c / 25) - 1]; print " " x 100 . "\r"; print $progress->report("progress: %40b %p, eta: %E min, Starting $action\r", $c); } else { print " " x 100 . "\r"; print $progress->report("progress: %40b %p, eta: %E min\r", $c); } sleep 1; } } $progress->stop; print "\n"; print $progress->elapsed_str;
表示サンプル
$ perl progress.pl Sample Progress Bar: progress: ######################################.. 95.0%, eta: 0:01 min
どう見ても
ネタです。