Thread Hash mit Schlüssel und Wert (--> ArrayReferenz): hash (7 answers)
Opened by Duff at 2007-05-24 23:47

Linuxer
 2007-05-25 00:03
#76906 #76906
User since
2006-01-27
3891 Artikel
HausmeisterIn

user image
Hi,

du musst dereferenzieren, z.B. so:

Code: (dl )
1
2
3
4
5
foreach my $key ( keys %hash ) {
my @array = @{ $hash{$key} };

print "$key : @array ", $/;
}


Oder Du verwendest das @{ $array_ref } direkt im print; das ginge auch.

Code: (dl )
1
2
3
4
5
foreach my $key ( keys %hash ) {
print "$key : @{ $hash{$key} }", $/;
# or edit first element of each array_ref
$hash{$key}->[0] = "Hallo Welt!";
}


Je nach Code-Umfang ist es aber durchaus praktischer und übersichtlicher, erst einen eigenen Array mit den Daten der dereferenzierten ArrayReferenz zu füllen.

Achtung: Wenn Du die Daten im Hash-of-Arrays bearbeiten willst, bekommst Du bei der Array-Variante Probleme, weil im Array nur eine Kopie der eigentlichen Daten liegt!
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Hash mit Schlüssel und Wert (--> ArrayReferenz): hash