Perl permet décrire sur la sortie standard appelée STDOUT et de lire sur lentrée standard (STDIN). Il sagit de deux descripteurs fournis par le système dexploitation et permettant généralement de lire lentrée du clavier et denvoyer des données à lécran mais cela est déterminé par le système dexploitation. En effet Perl est issu des systèmes UNIX sur lesquels les entréessorties sont considérées comme des fichiers.
De cette façon sur un serveur Web permettant dutiliser des scripts CGI lentrée standard représente la requête HTTP et la sortie standard la réponse HTTP.
Les données arrivant sur lentrée standard (Définie par le système dexploitation) sont disponibles sous lenvironnement Perl par le descripteur ‹STDIN›. De cette façon il est possible de récupérer ligne par ligne le contenu de ce descripteur à laide dune variable prévue à cet effet et de lopérateur daffectation :
Ainsi pour récupérer une ligne de lentrée standard il est possible dutiliser une instruction de la sorte :
Il est aussi possible dutiliser une variable tableau dans laquelle on va concaténer chacune des lignes :
De cette façon grâce à une boucle on peut arriver à récupérer lensemble des lignes de lentrée standard. Lorsquil ny a plus aucune ligne disponible dans lentrée standard celleci retourne la valeur undef qui signifie quaucune valeur nest définie ainsi la boucle se termine. Voici un exemple de boucle :
Pour écrire sur la sortie standard il suffit dutiliser la fonction print() et de lui passer en arguments les chaînes de caractères à envoyer sur le "périphérique"" de sortie.
Par exemple :
Ces instructions ont pour effet denvoyer la chaîne de caractères "bonjour le monde" sur la sortie standard. Ici lopérateur de concaténation . a été utilisé pour joindre les deux chaînes. Il est également possible dutiliser les guillemets doubles pour que la variable $var soit interpolée cestàdire remplacée par son contenu :
Cette fonction peut aussi être utilisée selon une syntaxe radicalement différente faisant mieux apparaître le rôle de la sortie standard (STDOUT) :
En réalité étant donné que STDOUT est la sortie "standard" cestàdire par défaut la manière la plus simple décrire ce code est :
Il est aussi possible dutiliser la fonction printf() issue du langage C pour envoyer des informations à la sortie standard.
Perl fournit un troisième descripteur standard permettant denvoyer automatiquement les erreurs vers une sortie définie par ladministrateur du système. Ce descripteur se nomme STDERR. Il suffit lors décriture de scripts de rediriger les messages derreurs vers ce descripteur...
Ce document intitulé « Perl Entrée et sortie standards » issu de Comment Ça Marche (http://www.commentcamarche.net/) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier modifier des copies de cette page dans les conditions fixées par la licence tant que cette note apparaît clairement.