$count = 0; $starthour = 17; foreach $time (@times) { $count ++; ($hour,$minute,$second) = split(/:/,$time`); if ($hour >= $starthour) { $time += Date_to_Time(1970,1,1,$hour,$minute,$second); } else { $time += Date_to_Time(1970,1,2,$hour,$minute,$second); } } $timeavg = $time/$count; print strftime '%H:%M:%S', gmtime($timeavg);