Thread datei in array einlesen zwecks mailversand
(6 answers)
Opened by ertox at 2010-08-06 20:24
Kurze Antwort:
Du musst es so machen: Code (perl): (dl
)
1 2 3 4 $sender->MailMsg({to => 'asd', subject => 'Testmail', msg => join '::', @text, }) or print "FUBAR"; Lange Antwort: Du versuchst hier, ein Array als Wert in einem Hash zu benutzen. Das geht nicht. In Hashes dürfen nur Skalare die Werte sein. Wobei ein Skalar (fast) alles sein kann: String, Zahl, Arrayreferenz, Hashreferenz, ... Mit diesen Referenzen baut man komplexe Datenstrukturen auf. Siehe dieser Artikel. In Deinem Code machst Du: Damit Du siehst, was dann passiert, solltest Du Dir mal das hier anschauen: Code (perl): (dl
)
1 2 3 4 5 6 7 use Data::Dumper; my @text = qw(das ist ein Test); my $hashref = {to => 'asd', subject => 'Testmail', msg => @text}; print Dumper $hashref; Dann siehst Du, dass so etwas rauskommt: Code: (dl
)
1 $VAR1 = { Ein Hash ist im Prinzip eine Liste mit einer geraden Anzahl von Elementen. Bei der Deklaration sieht man meistens das "=>" für die Zuweisung von Wert zu Schlüssel. Das "=>" ist das "fat comma", das dafür sorgt, dass der Teil links davon stringifiziert wird. Aber es ist ein Komma. Du kannst einen Hash auch so deklarieren: OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/) -- Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html Perl-Entwicklung: http://perl-services.de/ |