Perl:测试远程文件是否存在http

时间:2012-07-12 09:25:47

标签: perl http lwp remote-host

大家好!

我需要测试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";

任何指针都非常感谢!

谢谢, 托马斯

1 个答案:

答案 0 :(得分: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)) …