Perl: проверить, существует ли удаленный файл http
Здравствуйте все!
Мне нужно проверить, существует ли удаленный файл на сервере 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 ответ
Решение
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)) …