in reply to 3 dimensional hashes!

%hash=("$country"=>{ "$errorcode=>{ $messagetype=>{ "count"=>"value"}}})

is a four dimensional hash, not three dimensionial.

You also sometimes use count and sometimes $count. In fact, the way you use it when you're trying to print out the values, I get the impression that $hash{$country}{$errorcode}{$message} only has one key, 'count'. Since %hash is such an uninformative name, why not save a dimension and move 'count' to be the name:

$count{$country}{$errorcode}{$message} += 1;

--
TTTATCGGTCGTTATATAGATGTTTGCA