0

こんにちは、みんな!

httpサーバーにリモートファイルをダウンロードせずに存在するかどうかをテストする必要があります。wget、curl、axelなどのさまざまなコマンドラインプログラムを調べましたが、テスト専用フラグが見つかりませんでした。

私は実稼働環境で作業していますが、使用できるモジュールには制限があります。周りを見回すと、LWP :: Simple-> head()関数が適切であるように見えますが、試してみるとundefが返されます。

#!/usr/bin/perl -w
use strict;
use LWP::Simple;

  my $url = 
'http://hgdownload.cse.ucsc.edu/goldenPath/hg18/encodeDCC/wgEncodeUwChIPSeq/wgEncodeUwChIPSeqAlignmentsBjInput.tagAlign.gz';

 my $head = LWP::Simple->head($url);
 #my $head = head($url);

 print "$head\n";

どんなポインタでも大歓迎です!

ありがとう、トーマス

4

1 に答える 1

3

headはエクスポートされた関数であり、クラスメソッドではありません。あなたはそれを間違って呼び出しています。

use LWP::Simple qw(head);

my $url = …
if (head($url)) {
    # sucess
} else {
    # no success
}

# alternatively skip the import, supply fully qualified function name:
# use LWP::Simple qw();
# if (LWP::Simple::head($url)) …
于 2012-07-12T09:36:20.920 に答える