#!/usr/bin/perl -w ## Per-Skript zur Veranschaulichung der Handhabung der verschlüsselten ECG-Liste ## entsprechendes Modul einbinden use Digest::SHA1 qw(sha1 sha1_hex sha1_base64); ## Verweis auf Hash-Datei ggf. anpassen $hashwertdatei = shift || './ecg-liste.hash'; open(HASH, "<$hashwertdatei") || die "Fehler bei Zuriff auf $hashwertdatei"; binmode HASH; ##notwendig unter Windows? do {## Einlesen der Hashdatei $bytes = read(HASH, $hashwert, 20); $verboten{$hashwert} = 1; } while ($bytes == 20); close(HASH); while ($zeile = ) {## genau eine Adresse pro Zeile! chomp($zeile); ## Steuerzeichen am Ende einer Zeile entfernen $email=lc($zeile); ## Adresse auf Kleinbuchstaben mappen $domain=$email; $domain=~s/.*\@//; ## Domain-Teil aus E-Mail-Adresse extrahieren if ((! $verboten{sha1($email)})&&(! $verboten{sha1("\@".$domain)})) {## Ist weder die E-Mailadresse noch die Domain in der Hash-Liste enthalten? Domain-Eintragungen mit fuehrendem @ angeben! print "$zeile\n";## Adresse ist nicht in der ECG-Liste enthalten, d.h. ausgegeben werden nur Adressen, die selbst bzw. deren Domain in der ECG-Liste nicht enthalten sind! } }