Hallo Pampel
Hey,
#!/usr/bin/perl -w
das alleine bringt nix bzw. das Programm läuft durch, die von mir gewünschten Effekte zeigen sich aber nicht.
Die Warnungen hast aber gefunden?
use strict;
CGI-Fehler, Programm wird nicht abgearbeitet.
klar, weil du jetzt alle Variabeln explizit mit my deklarieren musst. Das bedeutet, wenn du dich vertippt haben solltest läuft das Programm auch nicht mehr.
Das erscheint jetzt nach unnötiger Mehrarbeit, aber wie gesagt dein code sieht nicht so falsch aus und evtl. ist es ein Tippfehler. Aber solange du nciht mit use strict arbeitest kann dir das keiner beantwortete und so bleibt alle nur ein Ratespiel.
Einen kleinen Fehler habe ich im Error-Log noch entdeckt:
...
if ($wert eq "") { <--- muss "eq" statt "==" sein, oder?
print CSVFILE ";";
}
...
das ist schon mal was, aber so wie ich das Skript sehe ist diese Zeile sowieso überflüssig, da du mit
print CSVFILE "$wert;";
ja auch bei einem leeren Wert einen Datensatz erzeugst. Problematisch ist eher, das du nicht prüfst ob der Wert überhaupt definiert ist.
und nebenbei:
$wert =~ s/\n/ /gim;
es reicht 'g'
$wert =~ s/\n/ /g;
da bei Zeilenumbrüchen Gross und kleinschreibung egal sein sollte. was m macht weiss ich nicht.
Struppi.