Thread SpamFilter Email in Perl "simulieren" (9 answers)
Opened by J0ke at 2016-11-15 10:36

clms
 2016-11-15 17:01
#185599 #185599
User since
2010-08-29
373 Artikel
BenutzerIn
[default_avatar]
Danke für den Hinweis auf Tie::File. Ich kannte es noch nicht - vermutlich weil ich noch nie die Notwendigkeit hatte. Aber immer gut, solche Werkzeuge im Hinterkopf zu haben.

Im konkreten Fall würde ich es nur bei extrem langen Filterlisten einsetzen (und vorher überlegen ob man nicht doch die Zeilen der Mail als innere Schleife nehmen sollte).
Der Grund: Wie in meinem letzten Absatz geschrieben, würde ich den Filterstring in eine Regex verwandeln, bevor ich ihn im Array speichere, also so:
Code (perl): (dl )
1
2
3
4
5
...;

open(my $filter_fh, "<", "Filter,txt") or die $!;
my @filter_qr = map {qr/(?=\Q$_\E)/} <$filter_fh>;
close $filter_fh;

Innerhalb der Regex verwende ich \Q...\E um Sonderzeichen innerhalb des Suchstrings zu escapen und den Look-ahead (?=...) um später mit pos() besonders einfach die Spalte des Treffers ermitteln zu können.

View full thread SpamFilter Email in Perl "simulieren"