在gmail.pl第9行,第2行,不能找到对象方法“new”,通过包“www :: Mechanize”(也许你放弃加载“www :: Mechanize”?)第2行

问题描述:

我很新Perl但是我在使用perl模块方面有点专业知识,我曾在HTML :: table提取过,但是当我处理Mechanize模块时,它一直说我无法通过包找到对象方法“new”,同时运行以下程序在gmail.pl第9行,<stdin>第2行,不能找到对象方法“new”,通过包“www :: Mechanize”(也许你放弃加载“www :: Mechanize”?)第2行

#!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'); 

我也已经到了一些由堆栈溢出成员给予引导线和安装机械化::火狐以及由下面的以下步骤

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

但我不断收到同样的错误,同时运行我的代码

请帮我在这里..

感谢 N - [维恩

+0

作为一个边注:【如何做家当行权] (http://*.com/questions/2791954/what-should-i-use-for-a-perl-scripts-shebang-line) – memowe 2013-02-25 14:07:23

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

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

此外,它通常被认为是避免间接对象语法的最佳选择。也就是说,使用

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

,而不是

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

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

+0

我感谢您的帮助,现在我可以运行我的脚本。只是想了解follow_link()它会做什么 – user2106358 2013-02-25 20:12:49