my $t = time(); while (<$input_fh>) { process_a_line(); if (time() - $t >= 1) { $widget->update(); $t = time(); } }