[perl] problem mit MIME::Parser
-
habe dieses TestScript aus nem Buch abgeschrieben,und bei nem Kollegen der die gleiche Module installiert hat, läuft es...
#!/usr/bin/perl #Datei : simple_parse.pl use strict; use MIME::Parser; my $file=shift; open F,$file or die "kann $file nicht öffnen: $!\n"; #Parser erzeugen und konfigurieren my $parser = MIME::Parser->new; $parser->output_dir("/tmp"); # Parsing der Datei my $entity = $parser->parse(\*F); print " From = " , $entity->head->get('From'); print " Subject = " , $entity->head->get('Subject'); print " MIME type = " , $entity->mime_type,"\n"; print " Parts = " , scalar $entity->parts,"\n"; for my $part ($entity->parts) { print "\t", $part->mime_type,"\t", print $part->bodyhandle->path,"\n"; } $entity->purge;
programm gibt folgende fehlermeldung, nach dem die prints für from,subject, mime type und anzahl der parts korrekt ausgegeben wurden;
can't locate method 'path' on a undefined value...
in der zeile:
print "\t", $part->mime_type,"\t",
verstehe das gar nicht, mime_type hat er doch vorher schon verarbeitet...
mail tools und mime tools sind installiert u.a.
-
MIME::Parser sagt mir leider nix.
Was mir nur grad auffällt:
print "\t", $part->mime_type,"\t", print $part->bodyhandle->path,"\n";
das Komma hinter "\t", ist das Absicht?
path kommt ja erst in der nächsten Zeile.
Ist da evtl. "bodyhandle" undef?