open(DAT,"dat.dat");
@dat = <DAT>;
close(DAT);
Das einlesen sämtlicher Zeilen in ein Array ist soweit völlig in Ordnung ...
for(@dat)
Hier hast Du Dich allerdings in der Anweisung vergriffen. Richtig wäre hier
foreach $zeile (@dat)
{
($nick, $pwd, $email, $hp) = split(/;/, $zeile);
[...]
}
Ich weiß auch in etwa, warum das nicht funktionieren kann, aber ich suche ine Lösung, mit der es Funktionieren kann.
Warum gibst Du denn dann nicht preis, wo Deiner Meinung nach der Fehler liegt. Offensichtlich
setzt Du dieses Programm ja im Rahmen eines HTML-Formulares ein. Je mehr Informationen
Du zu Deinem Problem mit angibst, desto eher kann die hier auch eine "konkrete" Lösung
bzw. ein enstprechender Lösungsweg präsentiert werden ...
Gibt es z.B. etwas, dass die Bedingung so darstellt:
"sobald"($Formular{'nick'} eq $nick)oder muss ich es ganz anders darstellen?
Diesen Teil Deiner Frage verstehe ich leider nicht! Das if-statement aus dem Beispiel wirkt
eigentlich ganz passend eingesetzt. Aber möglicherweise möchtest Du ja nebenbei noch etwas
anderes erreichen ???
Jörk