Thread Hash mit Arrays als Wert aufbauen (17 answers)
Opened by Pida at 2007-02-22 15:30

Pida
 2007-02-22 17:04
#74511 #74511
User since
2006-06-09
52 Artikel
BenutzerIn
[default_avatar]
Sorry, das ist sonst nicht meine Art... leider war perl-community.de heute vormittag für längere Zeit nicht verfügbar, weshalb ich ausgewichen bin. Ein paar Minuten nach meinem Posting war die Seite dann wieder da...

Leider habe ich mir mit den Referenzen nun ein neues Problem geschaffen; ich hoffe, ihr guckt euch das nochmal an:

Wie ganz oben beschrieben, steht die Zeile

Code: (dl )
$liste{$index} = \@pro;

in einer Schleife. Es wird ein hash aufgebaut, der später wieder ausgelesen werden soll:

Code: (dl )
1
2
3
foreach my $index (@sort_keys_satzliste) {
print "$index @{$liste{$index}}\n";
}


Nun ist das Problem, dass bei der Ausgabe der Wert eines jeden Schlüssels identisch ist. An den jeweiligen @pro kann das nicht liegen, die habe ich zwischendurch testweise ausgegeben. Anscheinend wird für die Referenz bei jedem Schleifendurchlauf die gleiche Speicheradresse verwendet (und die alten Werte überschrieben), so dass das Ergebnis des letzten Durchlaufs später als Wert für jeden Schlüssel ausgegeben wird.

Die Indizes werden bei der Ausgabe aus einem anderen Array bezogen, daran liegt es nicht (getestet). Das sind jeweils Integer von 1-x.

Gibt es Abhilfe?

Danke, Pida

View full thread Hash mit Arrays als Wert aufbauen