Thread array of hashes nach value durchsuchen
(11 answers)
Opened by peter.p at 2013-06-19 21:17
Wenn es in allen Values suchen soll, kannst Du mit values() alle Values des Hashes ausgeben lassen und auf diese dann den grep() loslassen.
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 use 5.12.0; my $search = '1'; my @AoH = ( { name => 'bla', alter => 9, }, { name => 'baba', alter => 19, }, { name => 'foo', alter => 11, }, ); my @matches; for my $i ( 0 .. $#AoH ) { # add index if searchstring was found in hash values push @matches, $i if grep { m/\Q$search\E/ } values %{ $AoH[$i] }; } # print result of search say "$search matched in elements: @matches"; Last edited: 2013-06-20 14:05:10 +0200 (CEST) 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! |