Hallo,
Ich hab da ein problem was ich nicht versteh:
Das problem zeigt auf
if (/^$username:$crypted/)Wie sind $username und $crypted initialisiert? Die Warnung kommt zwar bei o.g. Zeile, aber nur deshalb, weil es Perl bis dahin nicht interessiert hat, ob die Variablen initialisiert sind oder nicht. Übrigens ist es ein kleiner aber bedeutender Unterschied, ob du schreibst:
my $var;
oder
my $var = "";Beide Variablen sind zwar definiert, erstere aber nicht initialisiert.
ja ich glaub auch dass es mit der variable my $crypted was zu tun hat
diese variable steht unterer dem if (check())...was möglicherweise zum fehler geführt hat.Das crypten sollte erst ausgeführt werden,wenn sicher ist,dass das password existiert.my $crypted sieht so aus:
my $crypted = crypt($password, "Md") if ($password !~ /^Md/);
Das "if ($password !~ /^Md/)" mach ich desshalb,weil ich verschlüsseltes gookie dazu generieren möchte.
Ich das split jetzt if (/^$username:$crypted/) so...
und plötzlich geht alles 8-)
ich vermute die variable my crypted war zu weit unten...
dumm wäre wenn jemand ein klartext password,welches mit Md anfängt benutzen würde :)
Gruss
Alain