Entrée Utilisateur en Perl



  1. Qu'est-ce qu'une Entrée Utilisateur ?

Le but est de pouvoir faire inter-agir l'utilisateur avec le programme en le faisant saisir des données par l'entrée standard. Evidemment, ceci est vrai pour les programmes en ligne de commande (en DOS, KSH...). L'intérêt est de pouvoir donc rentrer des valeurs, et par exemple faire un menu shell.



  2. Fonctions utiles

Fonction Description
Exemple
<STDIN> Permet de lire une entrée clavier
$saisieUser = <STDIN>; # renvoit la chaine saisie au clavier (terminé par un "Entrée")
@ARGV Tableau contenant les informations envoyées en paramètres
print "Premier Paramètre : ".$ARGV[0]."\n";
chomp Efface le dernier caractère d'une chaine. Une chaine lue au clavier se terminant toujours par un "Entree", cette fonction est très pratique
chomp($maLigne);


  3. Astuces



  3. 1. Quelques codes utiles



  3.1.1. Demander à l'utilisateur de saisir une chaine de caractère

print "saisissez une valeur : ";
$entreeuser=<stdin>;
chomp($entreeuser);
print "vous avez saisi : $entreeuser\n";
  • Le premier "print" affiche la ligne pour demander à l'utilisateur de saisir une valeur
  • On copie la valeur envoyée saisie dans la variable "$entreeuser"
  • On enlève le dernier caractère avec la commande "chomp"
  • Finalement, on affiche la valeur saisie, sans le dernier caractère


  3.1.2. Demander à l'utilisateur de choisir dans un menu

use Switch;

print "Que souhaitez-vous afficher : \n";
print "  1. la date\n";
print "  2. l'heure\n";
print "  3. la date et l'heure\n";
$entreeUser=<STDIN>;
print "Choix : ";
chomp($entreeUser);
switch ($entreeUser) {
  case "1" {    print "date\n";}
  case "2" {    print "heure\n";}
  case "3" {    print "date et heure\n"; }
  else { print "Vous n'avez pas entrez de valeur correct\n";}
}


  3.1.3. Analyse des informations envoyées en paramètre

Comme vu dans en haut de page, le tableau @ARGV contient tous les paramètres passé en appel au programme.

Cette variable se traite comme tous les autres tableaux. Vous pouvez ainsi faire un programme avec l'envoi des variables en direct, sans avoir à répondre à des questions où à faire des saisies durant l'execution du programme. Très pratique pour les petits scripts.

for $i (0..$#ARGV) {
  print $ARGV[$i]."\n";
}



Page modifiée le : 28/06/2005
Site modifié le : 14/09/2020


Valid XHTML 1.0 Transitional