# settings damit Umlaute den Wörtern zugeschlagen werden use locale; use POSIX qw(locale_h); setlocale(LC_CTYPE, "de_DE.ISO8859-1"); my %words; my @blacklist_entries = qw(insurance Sxx porn buy viagra ZENIC Möbelkauf Bußgeld Führerschein); my %lookup = map {lc($_) => 1} @blacklist_entries; while (my $line = lc ) { $words{$_}++ foreach grep {$lookup{$_}} split(/\W+/,$line); } while (my ($key, $value) = each %words) { print "$key=$value\n"; }