use strict; use warnings; while () { my $time = (split /,/)[1]; my ($hr) = $time =~ /^"(\d\d)/; print if $hr>=5 and $hr<=23; } __DATA__ "02-feb-2010","04:59:19;06 ","00:00:15;00 " ,"creeid00402 ","OY00402W","OY00402W","610D/00","04:00:00;00 ","04:00:14;29.","02-feb-2010","04:59:34;06 " "02-feb-2010","04:59:34;06 ","00:29:01;25 " ,"ihw-14ubc-q ","3316291-","3316291-","610E/00","03:00:00;00 ","03:29:01;24.","02-feb-2010","05:28:35;29 " "02-feb-2010","05:28:35;29 ","00:00:15;00 " ,"creeid00402 ","OY00402W","OY00402W","610D/00","04:00:00;00 ","04:00:14;29.","02-feb-2010","05:28:50;29 " "02-feb-2010","05:28:50;29 ","00:00:30;00 " ,"scifim10078 ","SF10078W","SF10078W","610F/00","02:00:00;00 ","02:00:29;29.","02-feb-2010","05:29:21;01 "