Mike: CGI-Text einlesen und auf Gleichheit prüfen - Problem

Beitrag lesen

CGI Prob: Das Script liest und checkt nur die erste Zeile, das heisst, dass nur der erste Name
z.B. desson eingelesen und ueberprueft wird. Was fehlt, oder ist falsch, dass das Script alle Zeilen scannt und gegebenenfalls
die Passwortabfrage aktiviert?
-----------------------------
open (pass, "<$user") or &error("Unable to open the User data.");
if ($flock eq "y") {
flock pass, 2;
}
$pass=<pass>;
chop ($pass);
@all = split(/\n/);
close(pass);
$compare=$input{'name'};
$compare=lc($compare);
$compare=~ s/\s//g;

chomp($pass);
@check=split(/|/, $pass);
@check[0]=lc(@check[0]);
@check[0]=~ s/\s//g;
if ($compare eq "@check[0]" and $compare == "@check[0]") {
print "<font color="$other_color" face="$font_face" size="$font_size">Der Name <b>$input{'name'}</b> ist mit einem Passwort versehen.
 Bitte geben Sie das Passwort ein, um sich zu authorisieren!<br><br>\n
<b>Passwort:</b><input type="password" name="password"><br><br></font>\n";
}

-----------------------------
$user ist folgendermassen aufgebaut:

desson|YL5GkdLe/ggXg
Albert|Pddf4rLvp1qww
------------------------------------
d.H. jeder Name ist in einer seperaten Zeile.

Danke für eure Hilfe