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 回答