如果我使用:my $transport = Email::Sender::Transport::SMTP->new(some parameters)
PERL说:Can't locate object method "new" via package "Email::Sender::Transport::SMTP"
是的,SMTP.pm
中没有子new
答案 0 :(得分:6)
模块Email :: Sender :: Transport :: SMTP基于Moo。那些Moo框架将自动创建新的子。所以你可以在SMTP.pm文件中找不到新的子。
您是否已将Email :: Sender :: Transport :: SMTP的正确加载语句添加到源文件中?
use Email::Sender::Transport::SMTP;
如果相关模块未加载,则会出现上述错误消息,例如
perl -e "my $transport = Email::Sender::Transport::SMTP->new();"
Can't locate object method "new" via package "Email::Sender::Transport::SMTP"
VS
perl -e "use Email::Sender::Transport::SMTP; my $transport = Email::Sender::Transport::SMTP->new();"
[ALL OK]