Karsten: Prüfen ob eMailadresse vorhanden

Hallo,

In der Datei datei.txt befinden sich eMailadressen, untereinander geschrieben.

#!/usr/bin/perl -w

$datei= "datei.txt";
$email = "test@test.de";

open(DATEI, "<$datei") || die "Datei nicht gefunden";
my @Zeilen = <DATEI>;
close(DATEI);

my $zeige = @Zeilen;

print "Content-type: text/html\n\n";

if ($zeige eq "$email") {
print "$email vorhanden";
} else {
print "email NICHT vorhanden";
}
exit;

Leider funzt das nicht. Kann mir das jemand mal berichtigen?

Danke, Karsten

  1. use Mosche;

    my $zeige = @Zeilen;

    In $zeige steht jetzt die Anzahl der Einträge von @Zeilen drin, ist dir dies bewusst?

    if ($zeige eq "$email") {

    Anhand der obigen Bemerkung sollte dir der Fehler ersichtlich sein. Wieder mal zwei Versionen, wie es richtig wird.

    my $found = 0;
    foreach (@Zeilen) {
      if (/$email/) {
      # wegen newline u.ä., siehe letztes Mal
         $found++;
      }
    }

    if ($found) {
     print "$email ist enthalten!";
    }

    In $found steht jetzt die Anzahl der vorkommen von $email

    Kurze Version
    if (grep { /$email/ } @Zeilen) {
       print "$email ist enthalten!";
    }

    use Tschoe qw(Matti);

    1. Hi Matti, ich danke Dir! Du bist klasse!

      Karsten