Thursday, October 8, 2009

Term::ProgressBar

Here's a super easy CPAN module I started using last week. Ever have a long running process that a human is watching, and you want to add a progress bar? Here you go!
use Term::ProgressBar;
my $progress = Term::ProgressBar->new({
name => 'MySlowThing()',
count => 100,
ETA => 'linear',
});
$progress->max_update_rate(1);

for (1..100) {
sleep 1;
$progress->update($_);
}

Gives you a nifty ASCII timer bar with major and minor movements, updating clock, the whole nine. :)
MySlowThing():  26% [====        *     ]1m16s Left

2 comments:

Ranguard said...

Check out: Term::ProgressBar::Simple

That's even... can you guess.. :) ?

Adam Sjøgren said...

Looks great!

I wonder if it would be much work to make it resize its output upon SIGWINCH...