Hallo,
ich möchte einen String ($check_feld) nach verschiedene Worten in einem Array (@suchworte) abgleichen und überprüfen, ob alle diese Suchworte in dem String enthalten sind. Dabei soll die Position und die groß-/kleinschreibung vernachlässigt werden.
Doch anscheinend funktioniert mein Programm nicht, wenn es aus einer for-schleife aufgerufen wird. Warum ist mir nicht klar.
Hier jedoch der Quelltext einmal mit direkter Zuweisung und der besagten for-Schleife:
#!/usr/bin/perl5
print („Content-type: text/html\n\n“);
print („Start:\n\n“);
$suchworte[0] = „land“;
$suchworte[1] = „eng“;
$check_feld = „Deutschland“;
print („Abgleich_a:\n\n“);
&abgleich_a;
print („Abgleich_b:\n\n“);
&abgleich_b;
exit;
##################
sub abgleich_a{ # Check-feld
$akt_anz = 0;
for($s=0;$s $akt_anz \n\n
");
} # end sub abgeich
sub abgleich_b{ # Check-feld
$akt_anz = 0;
$akt_suchwort = $suchworte[0];
print ("$check_feld enthält $akt_suchwort / ");
if($check_feld =~ /$akt_suchwort/oi){
print ("$check_feld enthält $akt_suchwort : ");
$akt_anz++;
print ("ja $akt_anz, „);
} else {
print (“$check_feld enthält $akt_suchwort : ");
print ("nein $akt_anz, ");
};
$akt_suchwort = $suchworte[1];
print ("$check_feld enthält $akt_suchwort / ");
if($check_feld =~ /$akt_suchwort/oi){
print ("$check_feld enthält $akt_suchwort : ");
$akt_anz++;
print ("ja $akt_anz, „);
} else {
print (“$check_feld enthält $akt_suchwort : ");
print ("nein $akt_anz, ");
};
print (" --> $akt_anz
\n\n");
} # end sub abgeich
Habt Ihr vielleicht eine Idee wie ich mein Problem lösen kann?
Vieln Dank
Michael