Hi Cosmo!
Soweit alles richtig (Dateizugriffssymbol nicht vergessen); Du solltest aber immer Fehlerroutinen
schreiben um zu sehen, ob Dein Programm einen Fehler hat oder der Verzeichnispfad nicht stimmt
open (DAT, "<dat.dat") || die "Text";
Das ist aber nicht mein Problem. Die Datei ist zugriffsfähig, denn daraus werden schon andere Daten im Skript eingelesen, nur dieser Teil kappte nicht.
»»
for(@dat)
muss foreach (@dat) heissen
Wieso denn? Ich denke, foreach hat nur einen Sinn, wenn so etwas angegeben wird:
foreach $einzel (@dat)?
ist formal richtig, wenn Du wirklich den Wert im Hash 'Formular' mit dem Schlüssel
'nick' mit der Variablen nick vergleichen willst
In der in SelfHTML vorgestellten foreach-Schleife zum Sonderzeichen Entfernen der hexadezimalen Angaben und umwandeln in Sonderzeichen habe ich statt $Formular[$i]...
einfach $Formular{$name} = $value; eingesetzt. Hat den Vorteil, dass amn das Formular nicht in eine bestimmte Reihenfolge setzen muss.
Andere Ausdrucksmöglichkeiten:
1.) print "...." if ($Formular{'nick'} eq $nick);
2.) ($Formular{'nick'} eq $nick) && print "...";
Was bewirkt das jeweils?
Logo, gib kurze Nachricht wenn das Problem gelöst ist !!
Werd ich tun.
Bye, Nico!