Christian Bliß: Suchfunktion in Perl

Beitrag lesen

Hallo,

habe ein Problem mit meiner Suchfunktion, ich hoffe jemand kann mir helfen!

Programmausschnitt:

open(ARTIKEL, "artikel.txt") or die "$!";
while (<ARTIKEL>) {
  my ($artname, $artnr, $preis) = split(/##/, $_);
  chop($bild);
  if ($artname =~ m/$such_text/i) {
    print qq|Gefunden!|;
  }
  else {
    print qq|Nicht gefunden!|;
  }
}
close(ARTIKEL);

$such_text wird von einem Formular übergeben. Nun zu meinem Problem:
Wenn ich nun nur ein oder zwei Buchstaben eingebe, findet meine Suchfunktion ALLE Artikel, die diese Buchstaben enthalten. Ich möchte jedoch, dass lediglich die Artikel gefunden werden, die die Buchstaben als einzelnes Wort haben.

Bsp:

  • Artikel: Terminator
    Sucheingabe: e
      Mein Programm: "Gefunden!"

So sollte es sein:

  • Artikel: Terminator
    Sucheingabe: terminator
      Mein Programm: "Gefunden!"
    Sucheingabe: termi
      Mein Programm: "Nicht gefunden!"

MfG Christian