Perl使用未初始化的值(+)at .. WWW :: Mechanize :: Timed

时间:2013-03-06 22:25:47

标签: perl www-mechanize

我有以下非常简单的代码:

#!/usr/bin/perl

use strict;
use warnings;

use WWW::Mechanize::Timed;
my $ua = WWW::Mechanize::Timed->new();
my $url = 'www.stackoverflow.com';

$ua->get($url);    
print "Total time: " . $ua->client_total_time . "\n";
print "Elapsed time: " . $ua->client_elapsed_time . "\n";

我收到的错误:

运行程序时,我有时会收到以下错误,它不会一直发生,它似乎间歇性地出现。

Use of uninitialized value in addition (+) at /usr/local/share/perl/5.10.1/WWW/Mechanize/Timed.pm line 52.

我有什么明显的东西可以忽略,因为我无法理解为什么会出现这种错误,更不用说为什么有时只会发生错误?

非常感谢您的帮助,非常感谢

1 个答案:

答案 0 :(得分:2)

我认为问题在于

my $url = 'www.stackoverflow.com';

不是实际的网址。那只是一个主机名。你是说你的程序有时可以在没有指定http://方案的情况下工作吗?你需要

my $url = 'http://www.stackoverflow.com';

此外,您要检查->get()的返回代码,或将autocheck => 1添加到构造函数中。在:: Mechanize的历史记录中某些时候成为了默认设置,但我不知道你的版本是什么。