Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2
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 |
|