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