Initiation à Perl
Transcription
Initiation à Perl
Initiation à Perl TD 14 Le but de ces exercices est de réaliser la gestion d’un mini répertoire téléphonique. Exercice 1 Ecrivez une page HTML de menu, permettant d’accéder aux fonctionnalités d’ajout, de d’affichage, de recherche et de suppression sur votre répertoire téléphonique. Vous nommerez votre fichier : menu.html. Voici la structure que l’on souhaite mettre à disposition de l’utilisateur : Menu Ajouter Afficher Rechercher Supprimer Exercice 2 Ecrivez un script Perl qui affiche un formulaire permettant de saisir les champs : Nom, Prénom et Numéro de téléphone. Lorsque l’utilisateur soumet ses données, le formulaire appel un script CGI pour ajouter les informations saisies dans une table de hachage liée à un fichier DBM. La clé de cette table de hachage sera le nom-prénom et la valeur sera le numéro de téléphone. Faites en sorte que toutes ces actions s’effectuent dans un même fichier Perl nommé : ajouter.pl. Florent Brusciano CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB A4, 0.5 valeur 60 heures 1 Exercice 3 Ecrivez un script Perl qui affiche le contenu du fichier DBM. Vous nommerez ce fichier : afficher.pl. L’affichage doit s’effectuer sous la forme du tableau ci-dessous : Nom Brusciano Geahchan Prénom Florent Emile Téléphone 01 23 12 14 15 01 54 56 44 14 Supprimer Supprimer Le lien « supprimer » permet l’appel au CGI supprimer.pl que vous allez développez dans l’exercice 4. Exercice 4 Ecrivez un script de suppression d’une entrée d’une table de hachage. Vous nommerez ce fichier : supprimer.pl. Exercice 5 Ecrivez un script de recherche de numéro de téléphone. L’utilisateur saisira le nom et prénom à l’aide d’un formulaire. Afficher le résultat de la recherche en n’oubliant pas d’insérer un lien permettant de revenir au menu. Comme pour l’exercice 2 un seul script Perl devra réaliser l’ensemble de ces actions. Vous nommerez ce fichier rechercher.pl. Remarque 1 Parfois vous ne voulez pas produire vous-même un document mais plutôt rediriger le navigateur ailleurs par exemple en choisissant un URL en vous basant sur l'heure ou l'identité de l'utilisateur. La fonction redirect() redirige le navigateur vers un URL différent. print $query->redirect('http://quelque.part/ailleurs/plus/loin'); Remarque 2 Le format DBM est un format de fichier de hachage standardisé qui existe en dehors de Perl. En Perl, il nous est possible de manipuler directement une table de hachage en la liant avec un tel fichier : les valeurs de la table de hachage et du fichier sont synchronisées. Pour y accéder il faut utiliser les fonctions dbmopen et dbmclose Florent Brusciano CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB A4, 0.5 valeur 60 heures 2 Voici un exemple d’utilisation pour l’écriture dans un fichier DBM : use strict; use AnyDBM_File; # Hachage contenant les données my %Hash; $Hash{key1} = "Bonjour comment vas tu"; $Hash{key2} = "Salut à bientôt"; # Hachage pour la liaison avec le fichier DBM my %HashFic; # pour CREER un fichier DBM "toto" : dbmopen(%HashFic, "toto", 0644) or die("création de toto impossible : $!"); %HashFic = %Hash; dbmclose(%HashFic); # pour LIRE LES DONNEES d'un fichier DBM "toto" : dbmopen(%HashFic, "toto", 0644) or die("création de toto impossible : $!"); %Hash = %HashFic; dbmclose(%HashFic); Florent Brusciano CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB A4, 0.5 valeur 60 heures 3