Le module CGI (Common Gateway Interface) est particulièrement utile pour l'écriture de pages Web au format HTML mais surtout à la récupération et au traitement de données provenant de formulaires. Prenons un exemple simple. Soit la page HTML suivante notée accueil.html :
<HTML>
<BODY>
Rentrez votre prénom : <BR>
<FORM NAME="form" ACTION="/cgi-bin/script.pl"
METHOD="POST">
<INPUT TYPE="text" NAME="prenom">
<INPUT TYPE="submit" VALUE="Envoyer">
</FORM>
</BODY>
</HTML>
Dans cette page, on crée un formulaire contenant un champ de texte à compléter. Le deuxième élément est le bouton de soumission des données vers le script pointé par la clause ACTION du formulaire. Il s'agit de notre script Perl nommé script.pl et se situant dans le répertoire cgi-bin de notre serveur Web (notre page aurait pu aussi s'appeler script.cgi mais n'oubliez pas de modifier votre lien dans la page précédente):
#!/usr/bin/perl -w
use CGI;
use strict;
my($cgi) = new CGI;
print "Content-type: text/html\n\n";
my($prenom) = $cgi->param("prenom");
print "Bonjour <b>".$prenom."</b>";
Nous y retrouverons toujours notre ligne shebang. En plus de notre clause use strict, nous appelons le module CGI. On initialise ensuite une variable $cgi. Cette variable contiendra finalement toutes les données contenues dans le formulaire précédent. La ligne suivante sert à ajouter l'en-tête nécessaire pour le typage de notre page. Dans une deuxième variable scalaire, on place le contenu de notre champ de texte. Notez que vous appelez tout simplement le nom du champ de texte. La suite nous permet d'afficher le contenu de ce champ en gras. Vous pouvez donc styliser avec des balises HTML usuelles le rendu de vos pages CGI.
|