my %alertlog_mapper = map { $_->[1] => [ $_->[3], $_->[4], $_->[6], $_->[2], $_->[5] ] } sort { Date_Cmp($a->[2], $b->[2]) } map { my @logline = (); my ($msg_id, $timestring, $min, $sec, $secs, $secs_before, $secs_after); @logline = split(/\s+/, $_, 5); $timestring = $logline[0] . ' ' . $logline[1]; $min = substr($logline[1], 3, 2); $sec = substr($logline[1], 6, 2); $secs = $min * 60 + $sec; $secs_before = $secs - 5; $secs_after = $secs +5; #my @lookup_alerts = & $msg_id = $logline[3]; [ $_, $logline[3], ParseDate($timestring), $logline[0], $logline[1], $logline[2], $logline[4] ]; } @gmsgs;