Thread Problem mit Listen und Hashs
(12 answers)
Opened by ThomasC at 2011-12-15 23:28
Hallo zusammen,
ich beschäftige mich neu mit Perl, da ich eine kleine Linux-Box erstanden habe, die man mit Perl-Plugins erweitern kann. Ich habe ein Problem, bei dem ich trotz stundenlangem Suchen nicht fündig werde. Ich hoffe, hier kann mir jemand helfen. Der folgende - aufs Notwendigste reduzierte - Code bringt nicht das erwartete Ergebnis. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 my @Logwerte = ( { Name => "Name1", GAs => ({GA => "GA1", columnName => "A"})}, { Name => "Name2", GAs => ({GA => "GA2", columnName => "A"}, {GA => "GA3", columnName => "B"})}, ); # log each group address foreach my $element (@Logwerte) { foreach my $GAelement ($element->{GAs}) { plugin_log($plugname, "subscribe for GA [$GAelement->{GA}] and columnName [$GAelement->{columnName}]"); } } Ich würde erwarten, dass das hier ausgegeben wird: Code: (dl
)
1 2011-12-15 23:13:02.211,TestPlugin,subscribe for GA [GA1] and columnName [A] Tatsächlich erhalte ich aber nur das Folgende: Code: (dl
)
1 2011-12-15 23:13:02.211,TestPlugin,subscribe for GA [GA1] and columnName [A] Mein Verständnis des Codes ist, dass ich eine Liste mit Hashs habe. In diese Hashs stecke ich einmal einen String und einmal erneut eine Liste mit Hashs. Das Iterieren über die äußere Liste funktioniert einwandfrei. Die zweite foreach-Schleife funktioniert nicht wie erwartet. Hier wird nur das erste Listenelement gefunden. Ich habe einiges ausprobiert, komme aber nicht auf das gewünschte Ergebnis. Alles Lesen hat mich bisher nicht weitergebracht. Wo liegt mein Denkfehler? Funktioniert das überhaupt so, wie ich mir das vorstelle? Schon mal vielen Dank für Eure Hilfe und Bemühungen Last edited: 2011-12-15 23:29:36 +0100 (CET) |