use Time::HiRes 'time'; my $end_secs = 5; my $elapsed = 0; my $start = time(); while ($elapsed < $end_secs) { $elapsed = time() - $start; print "$elapsed\n"; }