Ich korrigiere das mal:
$hash_history => HASH
$hash_history{$alarm} => \HASH
$hash_history{$alarm}{"DETAILS"} => \ARRAY
@{$hash_history{$alarm}{"DETAILS"}} => ARRAY # @{} dereferenziertBeachte die impliziten De-/Referenzierungen
Ich arbeite eigentlich immer mit der Pfeil Notation und hab das noch nie ausprobiert. Du hast natürlich recht.
Ich würde das Konstrukt (weil ich's übersichtlicher finde) so schreiben:
@{$hash_history{$alarm}->{"DETAILS"}}
Das geht nicht. Ein Hash ist ähnlich aufgebaut wie ein Array wo die key, value Paare hintereinander kommen. D.h. ineinander verschachtelte HASHs oder ARRAYs kann es nicht geben.
Den Satz verstehe ich nicht. Er arbeitet hier korrekterweise mit Rererenzen. Ich entnehme seinem Code keine Fehler.
auch das ist richtig.
Ich dachte wegen der schreibweise, er möchte ein HASH in einem HASH deklarieren, natürlich funktionert das mit Referenzen.
Naja, ich hab ihm ja ein paar Docs mit auf den Weg gegeben.
Das push() müsste demnach OK sein. Ich kann den Codeteil ohne Probleme ausführen.
Tja, aber irgendwas scheint ja nicht zu stimmen, vielleicht kriegen wir's noch mitgeteilt ;-)
Struppi.