open LOG, "test_log"; my %results; while () { /\.(\w+) (\d\d\d)$/ and $results{$1}{$2}++; } close LOG; foreach my $type (sort keys %results) { foreach my $code (sort keys %{$results{$type}}) { print "$type $code ".$results{$type}{$code}."\n"; } }