Array in einem Hash - Wie?

Hallo Leute

Ich steh gerade auf dem Schlauch. Ich will in einem Hash einen Array abspeichern und später natürlich wieder auslesen. Kann mir mal jemand ein kleines Beispiel geben, wie ich das anstelle?

Mein erster Ansatz mit:

$hash{$key} = @array ;

scheint nicht ganz zu klappen - bin mir aber nicht sicher, ob nicht einfach nur der umgekehrte Weg mit:

@array = $hash{$key};

falsch ist. Danke schon mal im Vorraus.

lg
Erwin

Hallo

Ich steh gerade auf dem Schlauch. Ich will in einem Hash einen
Array abspeichern und später natürlich wieder auslesen. Kann
mir mal jemand ein kleines Beispiel geben, wie ich das
anstelle?

Du meinst: eine Hash-Referenz abspeichern?

Mein erster Ansatz mit:
$hash{$key} = @array ;

 ...
 $hash{$key} = \@array; # Referenz auf vorhandenes Array
oder
 $hash{$key} = [@array]; # Referenz auf neues Array (Kopie)
...

scheint nicht ganz zu klappen - bin mir aber nicht sicher, ob
nicht einfach nur der umgekehrte Weg mit:
@array = $hash{$key};
falsch ist. Danke schon mal im Vorraus.

 ...
 @array = @{ $hash{$key} }; # explizites Dereferenzieren
 ...

(wenn es das ist, was Du machen wolltest).

Grüße

CMb

hallo CMb

super - danke. das war’s, was ich gesucht habe.

hab beim dereferenzieren eine runde statt einer geschwungenen klammer verwendet (da war die seite, die ich gefunden hatte, nicht ganz eindeutig…).

jetzt klappt alles.

lg
erwin