2

我对 Perl 很陌生,但是我在使用 perl 模块方面有点专业知识,我曾在 HTML::table extract 上工作,但是当我处理 Mechanize 模块时,它一直说我在运行时无法通过包定位对象方法“新”下面的程序

    #!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

4

1 回答 1

10

Perl 区分大小写。www::Mechanize不一样WWW::Mechanize(后者有大写W)。

您正在加载(大写)WWW::Mechanize,然后尝试创建一个www::Mechanize不存在的 class (lower-case) 对象。

此外,通常认为最好避免使用间接对象语法。也就是说,使用

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

代替

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

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

于 2013-02-25T07:53:17.283 回答