繁体   English   中英

perl出现问题Email :: MIME

[英]Trouble with perl Email::MIME

我在perl中使用Email:MIME模块时遇到问题。 这可能是因为我使用它错了,但找到使用它的例子很困难。 我很确定我应该使用完整消息的标量作为输入,但是它不起作用。 这是我的代码和输出

码:

#!/usr/bin/perl

use Net::POP3;
use Email::MIME;
local $| = 1;

my $pop = Net::POP3->new('pop.mail.server');

print "Logging in....";
if ($pop->login('username','password')) {
 print "logged in successfully\n";
 my $msgs = $pop->list;
 my @keys = keys(%$msgs);
 my $msgr = $pop->get($keys[1]); #Selects a more or less random email for testing
 my $msg = join("",@$msgr);

 my $parsed = Email::MIME->new($msg);
 foreach my $key (keys %$parsed) {print $key.":".$parsed{$key}."\n";}
}

输出:

Logging in....logged in successfully
body:
mycrlf:
body_raw:
parts:
ct:
header:

始终use strict; use warnings; 这将立即指出一个错误:

Global symbol "%parsed" requires explicit package name at p line 21.

第21行应为:

foreach my $key (keys %$parsed) {print $key.":".$parsed->{$key}."\n";}

我认为应该在你的print语句中$parsed->{ $key }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM