http://www.perlmonks.org?node_id=1018590


in reply to Re: PERL Countdown Timer
in thread PERL Countdown Timer

I put it in a simple sub. Easy to adjust if you want to include additional parameters such as a pre or post message.
countdown(10); sub countdown($) { #countdown(seconds); my ($duration) = @_; my $end_time = time + $duration; my $time = time; while ($time < $end_time) { $time = time; printf("\r%02d:%02d:%02d", ($end_time - $time) / (60*60), ($en +d_time - $time) / (60) % 60,($end_time - $time) % 60); #00:00:10 $|++; sleep 1; } }

countdown(10, "before", "after"); sub countdown($$$) { #countdown(seconds, "premessage", "postmessage"); my ($duration, $premessage, $postmessage) = @_; my $end_time = time + $duration; my $time = time; while ($time < $end_time) { $time = time; printf("\r%s %02d:%02d:%02d %s", $premessage, ($end_time - $ti +me) / (60*60), ($end_time - $time) / (60) % 60,($end_time - $time) % +60, $postmessage); #before 00:00:10 after $|++; sleep 1; } }