我对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 - 无法在gmail.pl第9行,<stdin>第2行中通过软件包 “new”(也许您放弃加载 “www::Mechanize”吗?)来定位对象方法 “www::Mechanize”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15061898/

10-12 02:31