Hi Jer,
[...]
Den Teil zum Einlesen der Forumlardaten, und zum Versenden der Mail solltes Du noch mal überarbeiten, auch wenn es gerade so funktioniert, ist es imho nicht sonderlich elegant (bzw. fehlerbehaftet: z.B.: $Daten <> $daten)
Besser wäre imho die Verwendung eines Hashs für die Formulardaten, bzw. "use CGI;" was Dir folgendes ersparen könnte:
Vorbereitung für VCARD
[...]
$nname = $Formular[5];
^..........1)
[...]
$faxnr = $Formular[21];
womit dann vielleicht auch der folgende Fehler hätte vermieden werden können:
open (VCARD, ">$name.vcf"); ......2)
^............1)
-
Hier bekommt $name seinen Wert zugewiesen: ($name, $value) = split(/=/, $Feld);)
Was steht eigentlich in "faxnr.vcf"? ;-)) -
die "Kann $nname.vcf nicht oeffnen: $!"; sollte nicht fehlen.
Dann erhälst Du auch eine Fehlermeldung, wenn die Datei nicht erzeugt werden kann. Mit -w hättest Du bestimmt bereits einige erhalten, und noch mehr mit "use strict;". Es gibt also durchaus Möglichkeiten, sich von Fehlermeldungen regelrecht zuschütten zu lassen ;-)
print VCARD "BEGIN:VCARD \n";
[...]
print VCARD "END:VCARD";
close (VCARD);
Du kannst Dir die vielen "print()"-Anweisungen sparen, indem Du die Zeilen nicht mit ; sondern mit , beendest. print() gibt eine kommaseparierte Liste von Variablen bzw. Konstanten, oder Ausdrücken aus, die auch über mehrere Zeilen gehen.
Teste mal die Hinweise, vielleicht hilft es ja :-)
Gruß AlexBausW
P.S.: Vielleicht habe ich ja noch was übersehen, dann frag (in diesem Thread) noch mal nach P.P.S.: Literatur: L. Wall, T. Christiansen & R.L. Schwartz "Programmieren mit Perl" O
Reilly 1997 ISBN 3-930673-48-7