Thorsten Höser: formatierten Text in Textdatei/Mail ausgeben

Beitrag lesen

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