AlexBausW: VCard schreiben

Beitrag lesen

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)

  1. Hier bekommt $name seinen Wert zugewiesen: ($name, $value) = split(/=/, $Feld);)
       Was steht eigentlich in "faxnr.vcf"? ;-))

  2. 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" OReilly 1997 ISBN 3-930673-48-7