Struppi: hashes of hashes

Beitrag lesen

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.