for each line $position = getPosition() for $range in @ranges print $range->{FH} $line if (($position > $range->{start}) && ($position < $range->{end}))