2016-08-04 35 views
0

我试图使用MIME :: Lite :: HTML从URL发送响应。但它表明Perl错误:无法在未定义的值上调用方法“替换”MIME :: Lite :: HTML

Can't call method "replace" on an undefined value at /usr/local/share/perl/5.18.2/MIME/Lite/HTML.pm

的代码是这样的

#!/usr/bin/perl 
use MIME::Lite; 
use MIME::Lite::HTML; 
use strict; 

my $mailed_html = new MIME::Lite::HTML(To => "user\@sample.com", 
       From => "admin\@sample.com", 
       Subject => "Thank you mail"); # creates MIME::Lite::HTML object 
my $msg = $mailed_html->parse("http://sample.com/thankyou.html?id=19&mode=test"); 
$msg->send; 

变量$mailed_html有MIME ::精简版:: HTML对象,通过使用Data::Dumper打印确认。

+5

错误信息中有哪一行代码?您正在使用哪个版本的MIME :: Lite :: HTML? [此错误](https://rt.cpan.org/Public/Bug/Display.html?id=41447)在版本1.24中修复。 –

+0

错误在于调用'parse'方法。 MIME :: Lite :: HTML版本是1.24 – Sayooj

回答

0

得到了答案。其实代码没有错误。由于DNS解析问题,使用MIME::Lite::HTML解析邮件的请求未到达服务器。如果请求无法到达,那么它将返回没有数据的对象,所以替换函数不能执行空数据。

感谢您的回复。

相关问题