Hallo CPAN, (lustige Ansprache an sich... ;)
use DDS; Dump $parsed;
--- das sieht super aus! Ich habe mich immer gefragt, woher ich wissen soll, was in so einem Object "drin" ist. Der Dumper ist die Lösung, allerdings habe ich ihn nicht korrekt installieren können... :(
Ich habe erst den Dumper, dann das benötigte B::Utils einbezogen, aber es kommt bereits bei use Data::Dump::Streamer; die Fehlermeldung:
"Can't locate loadable object for module B::Utils in @INC"
Hierbei sei auf mein immer noch latent ungelöstes Problem mit dem korrekten Installieren der Perl-Module verwiesen; ich weiß nicht, ob es damit zusammenhängt: http://forum.de.selfhtml.org/archiv/2009/3/t184214/#m1221054
Ich habe die Module einfach kopiert, so wie Struppi es mir im Thread empfohlen hat. Bisher hat das auch gut funktioniert. Die Fehlermeldung oben krieg ich allerdings nicht weg. Der König der Dumper mag ohne seine Untergebenen nicht regieren...
for my $part ($parsed->parts) { # $part ist wieder vom Typ Email::MIME
next unless $part->content_type ~~ m|\A text/plain|msx;
--- hier hat sich ein kleiner Tippfehler eingeschlichen: =~ statt ~~, aber egal, nur so als Randbemerkung.
$part->body_str; # liefert dekodierten Inhalt als Textstring zurück
--- yau! Sehr schön! Genial! Cool! Sauber! GENAU SO! Yippey! :)
Der Vollständigkeit halber sei erwähnt, daß dies nur bei einfachen Nachrichten funktioniert. Bei multipart/alternative-Nachrichten muß man ja noch eine Ebene in die Tiefe runter. Das geht aber auch, so:
if ($part->content_type =~ m/multipart/i ) {
for my $part2 ($part->parts) {
next unless $part2->content_type =~ m|\A text/plain|msx;
$part2->body_str;
Vielen Dank für Deine Antwort, war sehr aufschlußreich.
Lieben Gruß
JOhnnY
P.S.
Wieso sind da seltsame Großbuchstaben vor jeder öffnenden Klammer in Deinem Posting?
geC<bless>ter L<http://emailproject LEmail::MIME