Die Derefenzierungsregeln haben lauter inkompatible Ausnahmeregeln.
z.B ist
$hash{dim1}{dim2}{dim3}
eine Kurzschreibung für
$hash{dim1}->{dim2}->{dim3}
Finde ich nicht besonders unlogisch und hat mich noch nie gestört, da es keine mehrdimensonale Arrays/Hashes gibt, ist klar das ab der zweiten Ebenenen eine Referenz benutzt wird, wobei ich aber die Kurzform nicht verwenden würde, da sie tatsächlich was falsches suggeriert.
aber
$ref{dim1}
ist KEINE Kurzschreibung für
$ref->{dim1} bzw $$ref{dim1}
Natürlich nicht, da es eindimensonale Arrays/Hashes gibt und du dann natürlich explizit angeben musst ob du eine referenz oder nicht meinst.
Dort steht
%hash{'dim1'} dann für das Hashelement (statt perl5 $hash{dim1})
Wird Puristen vielleicht nicht glücklich machen, aber ich geb dir Recht das sich das leichter lesen läßt.
Struppi.