Hallo Denis,
mir scheint, der Fehler liegt nicht in dem regulären Ausdruck, sondern
in der foreach-Schleife:
Gucken, was jetzt noch in den Stichworten doppelt ist:
$cnt = 0;
my $tmpstichworte = "@stichworte";
print $tmpstichworte . "\n";
my @einfacheTreffer;
foreach $stichwort (@stichworte) {
$anzahl = 0;
while ($tmpstichworte =~ /$stichwort/gi) {
$anzahl++;
}
print "$& ->";
if ($anzahl > 1) {
print "Mehr als ein Treffer fuer $stichwort!\n";
splice(@stichworte,$cnt,1);
}
$cnt++;
}
$cnt wird immer um 1 erhöht, Du nimmst aber in splice Elemente aus dem
Array heraus.
Viele Grüße
Christoph