formatierten Text in Textdatei/Mail ausgeben
Anatol
- perl
0 Stefan Muenz0 Thorsten Höser0 Anatol
Hallo zusammen,
ich arbeite gerade an einer Seite, für die es sehr wichtig wäre, Listen als Email zu verschicken (bzw. in einem File zu speichern). Die Listen sollten folgendermaßen formatiert werden:
open(MAIL,">>$URL_offline")
#...weiterer Code
write;
format STDOUT =
@<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<< @<
{
$Eintrag[0],
$Eintrag[1],
$Eintrag[2]
}
.
in der Eingabeaufforderung erscheint die Liste auch korrekt, also z.B.
Name1 email1@uvw.xyz 7
Name2 email2@uvw.xyz 4
Name3 email1@uvw.xyz 5
usw...
Ich habe es aber bisher nicht geschafft, die Liste mit dieser Formatierung in eine Datei auszugeben.
Eigentlich müßte STDOUT doch einfach durch einen Filehandler MAIL ersetzt werden können.
Bisher ist leider jeder Versuch fehlgeschlagen.
Weiß jemand, wie ich den Filehandler hier richtig verwenden kann? Oder bin ich völlig auf dem Holzweg?
Vielen Dank im voraus,
Anatol
Hallo Anatol,
Ich habe es aber bisher nicht geschafft, die Liste mit dieser Formatierung in eine Datei auszugeben.
Eigentlich müßte STDOUT doch einfach durch einen Filehandler MAIL ersetzt werden können.
Ich glaube kaum, dass dies was mit dem File-Handler zu tun hat. Perl wird brav seine Leerzeichen in die per format erzwungenen Freiraeume in der Datei schreiben. Es kommt aber nicht unwesentlich darauf an, womit man diese Datei hinterher oeffnet bzw. betrachtet.
viele Gruesse
Stefan Muenz
Hallo zusammen,
ich arbeite gerade an einer Seite, für die es sehr wichtig wäre, Listen als Email zu verschicken (bzw. in einem File zu speichern). Die Listen sollten folgendermaßen formatiert werden:
open(MAIL,">>$URL_offline")
#...weiterer Code
write;
format STDOUT =
@<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<< @<
{
$Eintrag[0],
$Eintrag[1],
$Eintrag[2]
}
.in der Eingabeaufforderung erscheint die Liste auch korrekt, also z.B.
Name1 email1@uvw.xyz 7
Name2 email2@uvw.xyz 4
Name3 email1@uvw.xyz 5
usw...Ich habe es aber bisher nicht geschafft, die Liste mit dieser Formatierung in eine Datei auszugeben.
Eigentlich müßte STDOUT doch einfach durch einen Filehandler MAIL ersetzt werden können.
Bisher ist leider jeder Versuch fehlgeschlagen.
Weiß jemand, wie ich den Filehandler hier richtig verwenden kann? Oder bin ich völlig auf dem Holzweg?
Vielen Dank im voraus,Anatol
Hallo,
Dein Fehler liegt imho darin, das Du write nicht das korrekte Dateihandle übergibst. Folgendes sollte funktionieren:
###########
@Eintrag = qw( name1 mail@xyz.de 55);
format TESTFORMAT =
@<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<< @<
{
$Eintrag[0],
$Eintrag[1],
$Eintrag[2]
}
.
open TESTFORMAT, '>>test.txt' die "$!";
write (@Eintrag, TESTFORMAT);
#########
in test.txt steht dann wie gewünscht:
name1 mail@xyz.de 55
Vielleicht hilft's Dir weiter.
Gruß, Thorsten
Dein Fehler liegt imho darin, das Du write nicht das korrekte Dateihandle übergibst. Folgendes sollte funktionieren:
write (@Eintrag, TESTFORMAT);
Der Teufel steckt mal wieder im Detail, diese Zeile wars.
Das Problem ist behoben, vielen Dank!
Anatol