我正在尝试从收到的电子邮件中提取附件,并且正在使用以下与 MIME::Tools 相关的代码:
$parser = MIME::Parser->new();
$parser->output_dir("./tmp");
$message = $parser->parse_data($msg); # $msg contains the email contents
调用时$parser->parse_data($msg)
,脚本失败并显示以下内容:
在 ./MIME/Parser/Filer.pm 第 364 行调用的未定义子例程 utf8::SWASHGET
这恰好是 Filer.pm 文件中正则表达式匹配的第一个实例,所以我假设它与执行正则表达式匹配的方式有关。我之前放置了一个正则表达式匹配,只是为了看看它是否确实与此相关,并且它在那个确切的位置失败并出现相同的错误。
对此有任何帮助吗?我检索电子邮件及其内容没有问题,但附件很痛苦。
我的 perl 版本是 5.8.9,MIME::Tools - 5.502,我不是 root 用户,遗憾的是无法访问 root 权限(我通过使用来解决这个问题
BEGIN { unshift @INC, "~email/mime"; }
在顶部 /mime 包含来自相关 CPAN 模块的所有 lib 文件夹,在本例中为 MIME)
首先十分感谢!