in reply to "percent task completed progress bar" in cli interface, how?

This routine returns a code reference that does an animated rotating bar. If you give it a numeric argument of, say, 25 it will only turn the bar on the the 25th, 50th etc. invocation. It's pretty crude having been written when I was new to Perl.

sub init_tumble { my $every = shift || 0; my(@tumble) = ('-', '\\', '|', '/'); my $tsub = 0; my $count = 0; my $rs = sub { $count++; $saved_autoflush = STDOUT->autoflush; if($every) { return if $count % $every; } STDOUT->autoflush(1); print "$tumble[$tsub++]\b"; $tsub = 0 if $tsub > 3; STDOUT->autoflush($saved_autoflush); }; return $rs; }

You would call it like this

my $tumble = init_tumble(25) ... while(some condition) { $tumble->(); ... do some stuff ... }

I hope this is of use.

Cheers,

JohnGG