my $size = -s $file; my $avg_recsize = 100; while my $record ( <$in> ) { if ( ( $size - ( 100 * $avg_recsize ) ) <= 0 ) { sleep(10); $size = -s $file; } . . . }