我是 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::Mechanize
与 WWW::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/