my $countdown = 1*60; #60 seconds $| = 1; #disable output buffering my $start_time = time; my $end_time = $start_time + $countdown; for (;;) { my $time = time; last if ($time >= $end_time); printf("\r%02d:%02d:%02d", ($end_time - $time) / (1*60), ($end_time - $time) / 60%60, ($end_time - $time) % 60, ); sleep(1); }