linux-l: wiedermal perl
Rene Dietze
rene at endel-dietze.de
Mo Okt 29 18:51:44 CET 2001
>>>>> "Ulrich" == Ulrich Wiederhold <U.Wiederhold at gmx.net> writes:
Ulrich> Hallo, ich habe folgendes Problem. Ich möchte im key
Ulrich> eines hashs nach einem String suchen, z.B. mehreren
Ulrich> Wörtern. Die Sucher soll erfolgreich sein, wenn alle diese
Ulrich> Wörter in beliebiger Reihenfolge gefunden werden.
Ulrich> $string = "I like music";
Ulrich> my (@search) = split /\s/, $string;
Ulrich> foreach my $key (keys %locator_hash) { my $counter = 0;
Ulrich> foreach my $word (@search) { if ($key =~ /$word/) {
Ulrich> $counter++; } } if ($counter == $#search+1) {
Ulrich> push(@result, $locator_hash{$key}); } }
Ich wuerde das so versuchen
$string =~ s/\s/\|/g;
@result = grep(/$string/,keys(%locator_hash));
Gruss Rene
Mehr Informationen über die Mailingliste linux-l