Ich hatte die leidvolle Anfängeraufgabe, ein Perl-Skript zu erstellen, in dem mit Hilfe eines Hashes eine Passwortabfrage stattfinden soll. Im Großen und Ganzen ist mir das auch geglückt, das Skript läuft fehlerfrei - bis auf eine Ausnahme: Wenn ich einen Benutzernamen eingebe, der nicht im Hash definiert wurde, bekomme ich viele Fehlermeldungen und bin dann doch erfolgreich eingeloggt :-(
Kann mir jemand dabei helfen, die Überprüfung des Benutzernamens noch in dieses Skript einzubauen?
Hier mein bescheidenes Werk:
#!/usr/bin/perl -w
%login = ("Franz" => "null",
"Peter" => "eins",
"Anna" => "zwei",
"Willi" => "drei",
"Inga" => "vier",
);
print "Bitte geben Sie Ihren Benutzernamen ein:\n";
$user = <STDIN>;
chomp $user;
if(defined($login{$user}))
{
print "Bitte geben Sie Ihr Passwort ein:\n";
$pass = <STDIN>;
chomp $pass;
}
while ($login{$user} ne $pass)
{
print "Ihre Eingabe war leider falsch. Bitte versuchen Sie es noch einmal:\n";
$pass = <STDIN>;
chomp $pass;
}
if ($login{$user} eq $pass)
{
print "Hallo $user, Ihr Login war erfolgreich!\n";
}