%hashlist =(); foreach key1,key2,key3 do $hashlist->{key1,key2,key3}++; and to list the occurences of such a hash i do, foreach $key(keys %hashlist) { ($dim1,$dim2,$dim3) = (split %;, $key)[0,1,2]; print "$hashlist->{dim0} "; }