Klaus Mock: Problem mit Referenzierung

Beitrag lesen

Hallo,

$image_grid->[$x][$y] = %image; # hier wird ein multidimensionaler array von hash referenzen aufgebaut

Zuerst frage ich mich warum $image_grid->[$x][$y] und nicht $image_grid[$x][$y]. Aber das kann durchaus seine Gründe haben.

Allerdings speicherst Du in allen Arrayelemente eine Referenz auf das gleiche Hash, womit beim dereferenzieren alle das gleiche Ergebnis haben. Es kann durchaus sein, daß Du es so willst, was ich aber nicht annehme.

Willst Du verschiedene Werte abspeichern, dnan verwende
$image_grid->[$x][$y] = {%image};

print $image_grid->[0][0]{image_id}; # hier gibt er den wert richtig aus

Hmm, was ist wohl der richtige Wert?

print $image_grid->[0][0]{image_id}; # hier nicht mehr

Und was ist dann der falsche?

Grüße
  Klaus

PS.: Warum das so ist, findest Du nach intensivem Studiom von

perldoc perlreftut
perldoc perlref
perldoc perllol
perldoc perldsc

heraus. Normalerweise sollte man diese Dokumenationen auf der Platte finden, zur Not auch unter http://www.perldoc.com;-)