www.farid-hajji.net banner

Farid Hajji

Perl: Einführung, Anwendungen, Referenz (2/e) [Support-Site]

Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2

Ergänzung

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
FreeBSD Logo