Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2
scan-badwords.pl
#!/usr/local/bin/perl -w
# scan-badwords.pl -- Erkennt 'verbotene Woerter' in einer beliebigen Eingabe
use Getopt::Std; # Standardmodul
use vars qw ($opt_v $input); # -v zeigt den dynamisch erzeugen Perl-Code
getopts("v"); # an, statt ihn auszufuehren.
chomp(@badwords = <DATA>); # Diese Woerter sind "verboten"
# Wir erzeugen nun Perl-Code, der prueft, ob eines der @badwords
# erkannt wurde.
# Dieser Code geht davon aus, dass zum Zeitpunkt seiner eval()uierung,
# die (mehrzeilige) Eingabe in der Variablen $input stehen wird.
$perlcode = 'if ($input =~ /' .
join('/is or $input =~ /', @badwords) .
'/is) { print STDERR "Tsk, tsk...!\n"; }' . "\n";
unless (defined $opt_v) {
# Wir lesen nun unsere Eingabe ein.
# Diese besteht aus einem einzigen String,
# der eventuell auch mehrere Zeilen (d.h. \n)
# enthalten kann:
$input = join('', <>);
# Nun fuehren wir den Perl-Code aus:
eval $perlcode;
} else {
# Wir wurden mit dem -v Flag aufgerufen.
# Gebe $perlcode aus, ohne ihn auszufuehren:
print $perlcode;
}
# Nach dem __DATA__ Schluesselwort stehen die verbotenen Woerter.
# Diese haetten wir auch aus einer Datei einlesen koennen.
__DATA__
shit
crap
microsoft
xxx
naked
sex
porn
[Prev] [Up] [Relevant Chapter] [Next]
[Alte Quelle]
| Last modified: $Date: 2006/05/18 12:55:48 $ FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy |
|