无法对未定义的值调用方法 X



为什么以下代码产生错误"无法调用方法"在...第6行中的未定义值上"获取"?我已经阅读了类似的帖子,并认为我理解了为什么这种错误消息往往会出现,但是我看不到它是如何适用的。我从www ::机械化模块的教程中复制了此代码,因此我希望它能够从罐中使用。

#!/usr/bin/perl
use warnings ;
use strict ;
use WWW::Mechanize;
my $url = 'http://www.google.com';
my $m->get($url);
my $link = $m->find_link(text =>'Advanced Search');
print "The Google advanced search URL is: $link->url()n";

您错过了将WWW::Mechanize类实例分配给$m变量的步骤:

use WWW::Mechanize;
my $m = WWW::Mechanize->new; # <-- HERE
my $url = 'http://www.google.com';
$m->get($url); # ...and remove 'my' from this line
my $link = $m->find_link(text =>'Advanced Search');
# also, a method call won't interpolate properly, so change
# the below line as well:
print "The Google advanced search URL is: " . $link->url() . "n";
# or:
# my $result = $link->url();
# print "The Google advanced search URL is: $resultn";

最新更新