perl - 无法通过包 "new"找到对象方法 "www::Mechanize"(也许您忘记加载 "www::Mechanize"?)在 gmail.pl 第 9 行,<stdin> 第 2 行

标签 perl www-mechanize

我是 Perl 的新手,但是我在使用 perl 模块方面有点专业知识,我从事过 HTML::table 提取,但是当我处理 Mechanize 模块时,它一直告诉我不能通过包定位对象方法"new" "在运行下面的程序时

    #!user/Perl/bin;
                 use strict;
                 use warnings;
                 use WWW::Mechanize;
                 my $URL ="https://accounts.google.com"   
                 my $username = <>;
                 my $password = <>;
                 my $mech =new  www::Mechanize();
                 $mech -> get($url);
$mech -> form_name('formname');
$mech -> field ('username' =>$username);
$mech -> field ('password' =>$password);
$mech -> click('signin');

我还引用了堆栈溢出成员给出的一些指南,并按照以下步骤安装了 Mechanize::Firefox

cpan WWW::Mechanize::Firefox
cpan MozRepl
cpan MozRepl::RemoteObject

但是我在运行我的代码时总是遇到同样的错误

请帮帮我..

谢谢 N@veen

最佳答案

Perl 区分大小写。 www::MechanizeWWW::Mechanize 不同(后者的 W 大写)。

您正在加载(大写)WWW::Mechanize,然后尝试创建类(小写)www::Mechanize 的对象,它不存在。

此外,通常认为最好避免使用间接宾语语法。即使用

my $mech = WWW::Mechanize->new();

代替

my $mech = new WWW::Mechanize();

(但这不是您问题的原因。)

关于perl - 无法通过包 "new"找到对象方法 "www::Mechanize"(也许您忘记加载 "www::Mechanize"?)在 gmail.pl 第 9 行,<stdin> 第 2 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15061898/

相关文章:

perl - 脚本中的标题格式错误。错误 header =&lt;!DOCTYPE html>

regex - 在 Perl 中如何将字符串拆分为每个包含两个字符的 block ?

perl - 推送至阵列引用

perl - 修改Moose属性方法

arrays - Perl 列表中的多散列

perl - XML removeChild,但输出有一个空行

perl - 为什么 WWW::Mechanize 获取某些页面而不是其他页面?

perl dom 机械化 xpath

perl - 可以在 https 上的 WWW::Mechanize 中使用超时吗?

regex - Perl - 正则表达式只提取逗号分隔的字符串