Thread Hashes of Arrays
(8 answers)
Opened by flango at 2006-07-08 17:19
[quote=Thorium,08.07.2006, 15:27]Du scheinst da ein ziemliches Durcheinander zu haben...
Willst du Daten in diesem Format speichern? Nein, ich wollte den Beitrag so einfach wie möglich belassen. Zu den Standorten werden noch weitere keys/values hizukommen. Wenn das der Fall ist, brauchst du kein Hash im Array; dann reicht ein einfaches Hash: Code: (dl
)
1 my %standorte = ( Ein array von hashes macht nur Sinn, wenn du Mehrere Informationen in einer Geordneten Liste haben willst: Code: (dl
)
1 my @standorte; Genau da soll es irgendwann hin :-) Aber zu deiner Frage: Code: (dl
)
local $hash_values = values %$hash; (values %$hash) gibt eine Liste zurück. Eine Liste gibt im Skalaren Kontext die Anzahl elemente zurück - und das ist in deinem Fall immer eins. Wenn du aber auf das Element "standort_1" in einem reinen Hash zugreiffen willst: Code: (dl
)
my $standort1 = $standort{standort_1} Wie du siehst, ist das Zugreiffen auf Daten wesentlich einfacher, wenn du die Daten dementsprechend speicherst.[/quote] aah, das stichwort Scalarer kontext hat bei mir den groschen fallen lassen. Quote Nein, ich wollte den Beitrag so einfach wie möglich lassen. Zu den Standorten werden noch weitere keys/values hizukommen Quote Genau da soll es irgendwann hin :-) Quote Habe es nun mit einer weitere Schleife gelöst: Code: (dl
)
1
Hat nun das erwünschte Ergebniss. Um die letzte foreach Schleife kam ich nicht umher ? Quote Habe dies mal versucht auf das Beispiel umzusetzten, Code: (dl
)
my $hash_value = $hash{standort_1}; Ergab bei mir eine Fehlermeldung in der Zeile mit der Zuweisung. Global symbol "%hash" requires explicit package name at /test.cgi ??? |