Мне нужна помощь в понимании следующего фрагмента кода Perl. У меня следующие два вопроса.Что означает * PIPER в Perl?
1. Что такое местный *PIPER
? Несмотря на то, что я сделал некоторое программирование на Perl до того, как синтаксис local *
стал для меня новым. Это указатель?
2. Какова цель
curl http://www.somesite.net/cgi-bin/updateuser.cgi? -d "userid=$userid&password=$password\" -s |"; ?
Спасибо :)
local *PIPER;
$http_query = "curl http://www.somesite.net/cgi-bin/updateuser.cgi? -d \"userid=$userid&password=$password\" -s |";
open(PIPER,$http_query) or die "sorry";
while(<PIPER>)
{
$rets = $_;
}
close(PIPER);
return $rets;
Я хотел бы добавить, что этот фрагмент кода довольно плохо написан ИМХО. Curl доступен как библиотека, нет причин прибегать к использованию внешних команд. –
Не работает ли CPAN.pm по умолчанию? Или, по крайней мере, в некоторых случаях? Я никогда не использовал завиток, но я видел, как он всплывал при использовании модуля CPAN. –
Нет, CPAN.pm по умолчанию не использует завиток. Сначала он пробует чистый Perl, но если libwww-perl не установлен, ему нужно вернуться к чему-то другому. –