while () { next unless /\b(\d\d:\d\d:\d\d)\b/; if (($1 ge '08:45:00' && $1 le '12:00:00') or ($1 ge '14:00:00' && $1 le '17:00:00')) { # do stuff. # line is in $_, time is in $1 } }