#!/usr/bin/perl -w # spam filter #opendir DIR, "." or die "Can't open dir\n"; #@files = grep {!/^\.\.?/ && !/\.pl/} readdir DIR; #print "FILES: @files\n"; my ($name, $spam); my $regs = "CALL NOW|Call TOLL FREE|I am looking for|Free Consultation|Find Out|FREE|Start Making|WANTED|NO OBLIGATION|You Can Too|Dear Friend|Sell or Rent"; MAIL: while ($name = shift) { open (FILE, "<$name") or die "Can't open $name: $!\n"; while (defined($line = )) { next unless ($line =~ m/From/i); while (defined($line = )) { chomp $line; if ($line =~ m/^Subject:/i) { if ($line =~ m/$regs/oi) {# print "YES\n"; #print "YES\t$name\n"; close(FILE); next MAIL; } @subject = split/\s+/, $line; foreach $word (@subject) { next if ($word =~ m/RE:/); next if ($word =~ m/\W/); next if ($word =~ m/\d+/); if (uc($word) eq $word) { print "YES\n"; #print "YES\t$word\t$name\n"; close(FILE); next MAIL; } } } if ($line =~ m/(\w ){4,}/) { print "YES\n"; #print "spaces!!! YES\t$name\n"; close(FILE); next MAIL; } # check if ($line =~ m/$regs/oi) {# print "YES\n"; #print "YES\t$name\n"; close(FILE); next MAIL; } if ($line =~ m/[\-\$\*!=]{6,}/) { print "YES\n"; #print "YES\t$name\n"; close(FILE); next MAIL; } } print "NO\n"; } } exit;