# Erläuterung:
# Gefragt war nach einer Lösung für das Problem, dass ein in der Datenbank gespeicherter
# Name gefunden werden soll, auch wenn er etwas ungenau geschrieben wurde.
//-->
<!-- Beginn Variablendefinition für Perl und Datenvorbereitung //-->
<perl>
# Variablendefinition
$db_feld="Hans-Heinrich Friedrich"; # also das, was in der Datenbank steht, könnte auch =$name sein
# oder auch mehrere Felder =$name.$text.$strasse.$ort
$input="Friedrich Hans"; # das, was gesucht wird, z.B. aus einem Formular
# Vorbereitung der Daten
$input=~s/-/\ /g; # Bindestrich in Leerzeichen umwandeln
$input=lc($input); # in Kleinbuchstaben umwandeln
@suchworte=split(" ",$input); # die Sucheingabe in einzelne Worte aufteilen und in Array speichern
</perl>
<!-- Ende Variablendefinition für Perl und Datenvorbereitung //-->
<!-- Beginn der Datenbankabfrage //-->
<loop db=$datenbankname code=perl>
$i=0; # Zähler auf 0 setzen
foreach (@suchworte){ # gehe alle Suchworte durch
$suchworte=lc($suchworte); # in Kleinbuchstaben umwandeln
if ($db_feld=~/$suchworte/){ # wenn das Namensfeld eines der Suchworte enthält
$i++; # Zähler um 1 erhöhen
} # Ende if
} # Ende foreach
if ($i==@suchworte){ # Wenn der Zählerstand gleich der Anzahl der Suchworte ist, also alles gefunden wurde
out <<EOF;
<!-- ab hier HTML schreiben //-->
<p>Datensatz $_id enthält alle Suchworte.</p>
<!-- Ende HTML //-->
EOF
} # Ende if
</loop>
<!-- Ende der Datenbankabfrage //-->