2012-07-12 13 views
0

大家好!Perl:測試遠程文件是否存在http

我需要測試一個http服務器上的遠程文件是否存在,而不下載它。我研究了像wget,curl,axel等各種命令行程序,但找不到測試專用標誌。

我在一個生產環境中工作,只對我可以使用的模塊有限制。放眼望去,在LWP ::簡單 - >頭()函數似乎合適的,但返回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"; 

任何指針不勝感激!

謝謝, 托馬斯

回答

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)) … 
+0

感謝daxim,解決了這個問題。現在它始終返回false。我也嘗試從其他2個網站獲取索引頁面,但始終是假的。 有關於此的任何想法? – juettemann 2012-07-12 10:06:38

+0

好的,這似乎是代理配置的問題,沒有錯LWP。 – juettemann 2012-07-12 10:19:47

相關問題