2013-02-25 50 views
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://stackoverflow.com/questions/2791954/what-should-i-use-for-a-perl-scripts-shebang-line) – memowe 2013-02-25 14:07:23

回答

10

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

相關問題