0

私は次の非常に単純なコードを持っています:

#!/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.

なぜこのエラーが発生しているのか、ましてやたまにしか発生しないのか理解できないので、私が見落としている明らかなものはありますか?

あなたの助けは大いに感謝されます、多くの感謝

4

1 に答える 1

2

問題はそれだと思います

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

実際のURLではありません。これは単なるホスト名です。あなたのプログラムは時々http://スキームを指定せずに動作すると言っていますか?あなたが必要です

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

また、からの戻りコードを確認するか、コンストラクター->get()に追加します。autocheck => 1:: Mechanizeの履歴のある時点でデフォルトになりましたが、現在のバージョンがわかりません。

于 2013-03-06T22:52:16.410 に答える