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

Beispielprogramm

spell-tied.pl
#!/usr/local/bin/perl -w
# spell-tied.pl -- Rechtschreibpruefung mit persistentem
#            Hash-Woerterbuch.

# Ort des Woerterbuchs. Ein Wort pro Zeile.
$dict   = '/usr/share/dict/words';

# Ort der DBM-Datei
$dbfile = '/var/local/words';

# Liste der zu ueberpruefenden Woerter.
# Sie wuerde normalerweise aus einer Parsing-Funktion kommen.
@mywords = qw ( this is okay but nottt thhat right);

use DB_File;

# Wenn die DBM-Datei noch nicht existiert, muessen wir sie anlegen:
if (not -e $dbfile) {
    tie %words, 'DB_File', $dbfile, O_CREAT|O_RDWR, 0644
    or die "can't tie to $dbfile: $!\n";

    # Wir lesen das Woerterbuch in dem Hash %words ein:
    open (DICT, "< $dict") or die "can't open $dict: $!\n";
    while (defined ($line=<DICT>)) {
    chomp $line;
    $words{$line} = "";
    }
    close DICT;

    untie %words;
}

# Nun benutzen wir die DBM-Datei im Nur-Lese-Modus:
tie %words, 'DB_File', $dbfile, O_RDONLY
    or die "can't tie to $dbfile: $!\n";

# Nun sind wir bereit, unsere Wortliste zu ueberpruefen:
foreach $word (@mywords) {
    print "Misspelled: $word\n" if not exists $words{$word};
}

# Das war es.
untie %words;
   

[Prev] [Up] [Relevant Chapter] [Next]

[Alte Quelle]


Last modified: $Date: 2006/05/18 12:56:06 $
FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy
FreeBSD Logo