Hi,
du musst dereferenzieren, z.B. so:
foreach my $key ( keys %hash ) {
my @array = @{ $hash{$key} };
print "$key : @array ", $/;
}
Oder Du verwendest das
@{ $array_ref } direkt im print; das ginge auch.
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!