Thread Anfängerfrage Zeichenkettenvergleich (15 answers)
Opened by Gast at 2007-06-17 15:26

Gast Gast
 2007-06-17 15:26
#77579 #77579
Ich habe hier folgender Testscript, das einzugebene Passwörter mit dem Inhalt eines Arrays abgleichen soll. Die Eingabe soll nur 3 mal möglich sein. Bei korrekter Eingabe soll "accepted" ausgegeben werden. Leider haut irgendwas beim Vergleich nicht hin. Wenn ich mit eq vergleiche, wird der if Zweig nie ausgeführt, auch wenn ein passendesPW eingetragen wird. Ein Vergleich mit == ist dagegen offenbar in jedem Fall wahr. What`s wrong???


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/perl

@passwd = ("toor","pass2","xyz");

#Zähler für die Schleifendurchläufe:
$i = 0;

while($i < 3) {
print "Passwort eingeben: ";
$pw = <STDIN>;
chomp($pw);


foreach(@passwd)

# Test der Variableninhalte:
{print "DollarS: $_ ";
print "DollarPW: $pw \n"
}

if ($pw eq $_)
{ print "accepted! \n";
last; }

$i++;

if ($i == 3)
{print "Eingabe ist nur 3 mal möglich. \n Das Script wird nun beendet. \n";}
}

View full thread Anfängerfrage Zeichenkettenvergleich