for (@ARGV) { if ($_=~ m/(\w+)\.(\d+)\.(\d+)\.(\d+)$/) { if (($3>= $datemin) && ($3 <= $datemax) && ($4>= $timemin) && ($4 <= $timemax)) { push(@{$mylist{$3}}, $_); } } }