J'ai besoin d'aide pour comprendre l'extrait de code Perl suivant. J'ai les deux questions suivantes.Que signifie * PIPER en Perl?
1. Que signifie le code *PIPER
local? Même si j'ai fait quelques programmations Perl avant que la syntaxe local *
ne soit nouvelle pour moi. Est-ce un pointeur?
2. Quel est le but de
curl http://www.somesite.net/cgi-bin/updateuser.cgi? -d "userid=$userid&password=$password\" -s |"; ?
Merci :)
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;
Je voudrais ajouter que ce morceau de code est plutôt mal écrit à mon humble avis. Curl est disponible en tant que bibliothèque, il n'y a aucune raison de recourir à des commandes externes. –
CPAN.pm n'utilise-t-il pas curl par défaut? Ou au moins dans certains cas? Je n'ai jamais utilisé curl moi-même, mais je l'ai vu apparaître lors de l'utilisation du module CPAN. –
Non, CPAN.pm n'utilise pas curl par défaut. Il essaie d'abord Perl pur, mais si libwww-perl n'est pas installé, il doit revenir à autre chose. –