sub by_hour{ if ($a =~ /(\d\d):(\d\d)/){ $h_a = $1; $mn_a = $2; } if ($b =~ /(\d\d):(\d\d)/){ $h_a = $1; $mn_a = $2; } if ($h_a < $h_b){ -1; } if ($h_a > $h_b){ 1; } if ($h_a == $h_b){ if ($mn_a < $mn_b){ -1; } if ($mn_a > $mn_b){ 1; } if ($mn_a == $mn_b){ 0; } } }