Manfred: Suchfunktionhilfe

Beitrag lesen

Hi,

Folgende Lösung ist mir dazu eingefallen:

$Suchbegriffe="Str1 Str2   Str3";

my(@SrchList) = split(/\s+/,$Suchbegriffe);

$Srch = "(" . join("", @SrchList) . ")";

foreach $Rec ( @records ) {
   $x="NichtGefunden";
   if ( $AlleMuessenGefundenWerden ) {
      BLOCKA: {
        BLOCKB: {
           foreach $_ (@SrchList) {
              last BLOCKA if ( "axbxcx" !~ /$_/i );
           } #foreach
           $x="Gefunden";
        } # BLOCKB
      } # BLOCKA
      print STDOUT $Rec    if ( $x eq "AlleGefunden" );
   } else {
      $x="Gefunden"   if ( $Rec =~ /$Srch/i );
   }
   if ( $x eq "Gefunden" ) {
      print STDOUT $Rec    # ...oder was auch immer...
   }
} # foreach

Ich hab's zwar nur rudimentär getestet, aber vom Prinzip her funktioniert es. Außerdem werden hier nicht die einzelenen Felder aufgesplittet, was aber für Deinen Fall hier scheints sowieso nicht nötig ist.

Manfred