[quote=Froschpopo,19.09.2006, 18:32]Erstmal: Danke!
Ich habe ein gemischtes Hash:
my %hash = (
'key1' => [\%foobar, 1],
'key2' => %foo
);
Nun will ich eine Fallunterscheidung konstruieren:[/quote]
also du scheinst mir da noch ein verständnisproblem zu haben.
zuerst einmal versuchst du dem hashkey 'key2' %foo zuzuweisen, aber
stattdessen musst du die referenz zuweisen.
lies doch mal perldata, perllol, perldsc und perlreftut. du weißt ja, wo
sich die dokus in unserem wiki befinden.
dann sagst du
my $hashref = \$hash{key2};
was soll das für einen sinn haben, eine ref auf eine hashref zu bilden
(wenn wir mal annehmen, du hättest obige zuweisung richtig gemacht)?
wieso nicht einfach
my $hashref = $hash{key2};
sonst hast du eine ref auf eine hashref. sowas ist unnötig (in den meisten fällen).
dann wiederum sagst du
if (defined $hashref->[1]) {
du hash eine *hashref* und möchtest das element mit dem index 1??
denk da nochmal drüber nach. ich glaube, du kennst den unterschied
zwischen hashes und arrays, vielleicht warst du einfach zu müde?