1
我正在试图按here解释子类MIME::Parser::FileUnder
。所以我安装该模块:CPAN安装模块说OK,但编译在该模块上失败
$ sudo cpan install MIME::Parser::FileUnder
[...]
Result: PASS
DSKOLL/MIME-tools-5.504.tar.gz
/usr/bin/make test -- OK
Running make install
Manifying blib/man3/MIME::Decoder::Gzip64.3pm
Appending installation info to /usr/local/lib/perl/5.14.2/perllocal.pod
DSKOLL/MIME-tools-5.504.tar.gz
sudo /usr/bin/make install -- OK
貌似正确安装,但
$ ./test_gmail.pl
Can't locate MIME/Parser/FileUnder.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at GMailMIMEParser.pm line 4.
BEGIN failed--compilation aborted at GMailMIMEParser.pm line 4.
Compilation failed in require at ./test_gmail.pl line 13.
BEGIN failed--compilation aborted at ./test_gmail.pl line 13.
如果我尝试重新安装MIME::Parser::FileUnder
,它会奇怪,而不是安装它告诉我的是最新的像任何其他模块。
这是我的子类GMailMIMEParser
:
package GMailMIMEParser;
use strict;
use MIME::Parser::FileUnder;
our @ISA = qw(MIME::Parser::FileUnder);
my $cur = 0;
sub output_path
{
my $class = shift;
my $head = shift;
print(STDERR $head);
$cur++;
return "./$cur";
}
提前感谢!
这是一个文件管理器子类或MIME解析器,所以我想你想的东西就像我的$解析器=新的MIME ::分析器;,然后$ parser-> filer-> output_path(XXX)。 – Analog 2013-03-23 16:53:37
我不明白你的意思。我必须继承'MIME :: Parser :: FileUnder',如链接中所述,使用我自己的'output_path()'。 'GMailMIMEParser'子类'MIME :: Parser :: FileUnder',但它不会识别'MIME :: Parser :: FileUnder' – m0skit0 2013-03-23 17:14:54