< < E-NEF > >
Prog. Perl | Art Roman | Voyager | Cartes ()
                  dragon                     e-nef                 Plan du Site
Contact
my.e-nef v0.1
  • Kernel Linux stable: 2.6
  • Perl: 5.8
  • Apache: 2.0
  • mod_perl: 2.0
  • postgres: 8.0


Rubriques


Recherche sur le Site





Bookmarks


Recommandation de Lecture


Questions ?
Dites nous ce que vous
avez pensé de cette page

 Excellent
 Vaut le coup de le lire
 Sans intérêt

 Pas assez technique
 Juste comme il faut
 Trop technique



Cours de Perl
next up previous index
suivant: L'ouverture monter: Les entrées-sorties précédent: Les bases   Index

Interaction

Voila un programme d'exemple qui demande d'entrer un nom et met le résultat de cette demande dans une variable :

print "Entrez votre nom : ";

$nom = <STDIN>;
chomp($nom);

print "Hello $nom#1218#>n";
La partie intéressante se situe au niveau des lignes 2 et 3. La ligne 2 affecte à la variable $nom le résultat de l'opérateur <> appliqué au descripteur de fichier STDIN.

L'opérateur de fichier <> est utilisé pour lire une ou plusieurs lignes d'un fichier. Dans un contexte scalaire comme ici, il lira les données jusqu'au prochain retour-chariot, qui sera d'ailleurs inclus dans le résultat.

Dans un contexte de tableau par contre, par exemple @lignes = <STDIN>, l'opérateur renvoie l'ensemble des lignes du fichier dans un tableau, ce qui peut produire des résultats indésirables, si par exemple on applique cette ligne à un fichier de plusieurs mégaoctets. Mais cette forme reste très utile pour lire rapidement en mémoire le contenu entier d'un fichier.

La fonction chomp4.1 que l'on applique ensuite à la variable supprime le dernier caractère si c'est un newline. On peut d'ailleurs l'appliquer également à un tableau. Dans ce cas, elle enlèvera les newline à chaque élément du tableau.

On peut condenser ces deux lignes sous la forme

chomp($nom = <STDIN>);

next up previous index
suivant: L'ouverture monter: Les entrées-sorties précédent: Les bases   Index
Olivier Aubert
1999-06-01



Publicité

© Copyright 1998-2010 Emmanuel PIERRE. Libre reproduction sous Licence LLDDv1.
Pour tout commentaire, webmaster@e-nef.com
Dernière MaJ

Valid XHTML 1.0!

No Patents/