G. Thomas: Probleme bei exaktem Suchbegriff

Beitrag lesen

Hi nochmal,

danke für eure Mühen, allerdings klappt das irgendwie nicht :(
Hier mal das Script, vielleicht hab ich mich auch blöd ausgedrückt:

#!/usr/bin/perl

DB Abfrage

Temporäre Usereingabe, später Formular

print "Suche nach?\n";
$Search = <STDIN>;
chomp($Search);

if ($Search eq '')
{
  print "Sie muessen einen Suchbegriff eingeben!\n";
  die;
}

$Count = 0;

open (DBASE, "Mappe.txt") die "Kann File nicht oeffnen:$!";

Durchsuchen der ersten Kategorien nach dem Suchbegriff

while (<DBASE>)
{
@Line = split(/\t/, $_);

if ($Line[0]=~ /\b$Search\b/) # hae!?
{
&search;
}

if ($Line[1]=~ /\b$Search\b/i)
{
&search;
}

if ($Line[2]=~ /\b$Search\b/i)
{
&search;
}

if ($Line[3]=~ /\b$Search\b/i)
{
&search;
}

if ($Line[4]=~ /\b$Search\b/i)
{
&search;
}

} # Ende der While Schleife
close(DBASE);

if ($Count == '0')
{
  print "Leider kein Treffer\n";
}
else
{
print "Es wurde(n) $Count Uebereinstimmung(en) gefunden\n";
}

SUB fuer die Ausgabe der gefundenen Ergebnisse

sub search
{
if ($Count == '0')
{
  print "Suche nach $Search brachte folgende Ergebnisse:\n\n";
}
  $Count++;
if ($Line[5] ne '')
{
  print "Beschreibung: $Line[5]\n";
}
if ($Line[6] ne '')
{
  print "Heizschlauch Spannung: $Line[6]\n";
}
if ($Line[7] ne '')
{
  print "Heizschlauch Serie: $Line[7]\n";
}
if ($Line[8] ne '')
{
  print "Duesentyp: $Line[8]\n";
}
if ($Line[9] ne '')
{
  print "Anzahl der Bohrungen: $Line[9]\n";
}
if ($Line[10] ne '')
{
  print "Durchmesser der Bohrung: $Line[10]\n";
}
if ($Line[11] ne '')
{
  print "Preis APRO: $Line[11] DM\n";
}
} #Ende SUB