Flux rss
Collection CommentÇaMarche.net
Bookmark Ajouter aux favoris / Partager

Qu'appelle-t-on entrée standard et sortie standard ?

Perl permet d'écrire sur la sortie standard, appelée STDOUT et de lire sur l'entrée standard (STDIN). Il s'agit de deux descripteurs fournis par le système d'exploitation et permettant généralement de lire l'entrée du clavier et d'envoyer des données à l'écran, mais cela est déterminé par le système d'exploitation. En effet, Perl est issu des systèmes UNIX, sur lesquels les entrées-sorties sont considérés comme des fichiers.

De cette façon, sur un serveur Web permettant d'utiliser des scripts CGI, l'entrée standard représente la requête HTTP, et la sortie standard la réponse HTTP.

Lecture de l'entrée standard

Les données arrivant sur l'entrée standard (définie par le système d'exploitation) sont disponibles sous l'environnement Perl par le descripteur <STDIN>. De cette façon, il est possible de récupérer ligne par ligne le contenu de ce descripteur à l'aide d'une variable prévue à cet effet et de l'opérateur d'affectation :

Ainsi pour récupérer une ligne de l'entrée standard il est possible d'utiliser une instruction de la sorte :

$var = <STDIN>
Il est aussi possible d'utiliser une variable tableau dans laquelle on va concaténer chacune des lignes :
@var = <STDIN>

De cette façon, grâce à une boucle, on peut arriver à récupérer l'ensemble des lignes de l'entrée standard. Lorsqu'il n'y a plus aucune ligne disponible dans l'entrée standard, celle-ci retourne la valeur undef, qui signifie qu'aucune valeur n'est définie, ainsi la boucle se termine. Voici un exemple de boucle :

while ($var = <STDIN>) {
// instructions
}

Ecriture sur la sortie standard

Pour écrire sur la sortie standard il suffit d'utiliser 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 :

$var = 'bonjour';

print ($var.' le monde');
Ces instructions ont pour effet d'envoyer la chaîne de caractères "bonjour le monde" sur la sortie standard. Ici l'opérateur de concaténation (".") a été utiliser pour joindre les deux chaînes. Il est également possible d'utiliser les guillemets doubles pour que la variable $var soit interpolée, c'est-à-dire remplacée par son contenu :
$var = 'bonjour';

print ("$var le monde");

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) :

$var = 'bonjour';

print STDOUT $var;

En réalité étant donné que STDOUT est la sortie "standard", c'est-à-dire par défaut, la manière la plus simple d'écrire ce code est :

$var = 'bonjour';

print $var;

Il est aussi possible d'utiliser la fonction printf() issue du langage C pour envoyer des informations à la sortie standard.

La sortie standard d'erreur

Perl fournit un troisième descripteur standard permettant d'envoyer autonatiquement les erreurs vers une sortie définie par l'administrateur du système. Ce descripteur se nomme STDERR. Il suffit, lors d'écriture de script, de rediriger les messages d'erreurs vers ce descripteur...

Dernière modification le mardi 14 octobre 2008 à 17:40:31.Ce document intitulé « Perl - Entrée et sortie standards » issu de Comment Ça Marche (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.

Comment rediriger la sortie standard (Résolu) Bonjour, Bon c'est un peu plus compliqué que ça en a l'aire, car je connais les principes d'entrée sortie standard : 1 entrée standard (ex :clavier) > prog.sh 1> sortie standard (ex: écran) 2> sortie standard des erreurs (le plus souvent idem que... www.commentcamarche.net/forum/affich-7358491-comment-rediriger-la-sortie-standard
[linux] Redirection de la sortie standard (Résolu) Bonjour, Je voudrais rediriger la sortie standard d'un programme vers un fichier tout en l'affichant sur la sortie standard. Comment faire? remarque : La solution "mon_prog >> mon_fichier | cat mon_fichier" n'est pas envisageable (je pense que vous... www.commentcamarche.net/forum/affich-2370106-linux-redirection-de-la-sortie-standard
[Shell Unix] Redirection et sortie standard (Résolu) Bonjour, J'ai créé des shells qui redirigent leurs actions sur un fichier log de cette façon: action 1 > $LOGFILE action 2 >> $LOG_FILETout marche parfaitememt mais j'aimerais également voir s'afficher les actions sur ma sortie standard. Quelqu'un... www.commentcamarche.net/forum/affich-2681931-shell-unix-redirection-et-sortie-standard
MySQL en console : Rediriger la sortie standardVous connaissez le client MySQL en ligne de commande , aka "mysql" ... Mais saviez-vous qu'il était possible de rediriger la sortie des commandes vers n'importe quel programme ? Pour cela, il vous suffit d'utiliser la commande "pager", suivie du... www.commentcamarche.net/faq/sujet-17679-mysql-en-console-rediriger-la-sortie-standard
Les standards téléphoniquesEquiper l'entreprise d'un standard téléphonique Le standard téléphonique est un commutateur, c'est-à-dire un appareil assurant automatiquement les connexions téléphoniques entre appelé et appelant (à l'intérieur de l'entreprise comme vers... www.commentcamarche.net/faq/sujet-9664-les-standards-telephoniques
Sortie standard (Résolu)salut, de l 'aide svp je veut afficher le resultat de deux command au meme temp sur la sortie standard par exemple : j'ai fait sed -n '150,250p' fic1.txt | tee fic2 | wc -cm dans le but d'afficher fic2 + le nombre de caractere.mots mes ca n'a pas... www.commentcamarche.net/forum/affich-8852011-sortie-standard
Erreur entrée/sortie open office 3Bonjour, je viens de telecharger open office 3, a chaque fois que je l'ouvre il ya une erreur d'entree sortie concernant deux type de fichier script.xlb dialog.xlb L'erreur n'a aucune repercursion pour le travail, sa ressemble plutot a un spam, c'est... www.commentcamarche.net/forum/affich-9291314-erreur-entree-sortie-open-office-3
Excel gestion entrees sorties marchandisesBonjour, J'ai un fichier qui comporte trois feuilles : FOURNISSEURS - ENTREES -SORTIES - Lorsque je saisis mes entrées de marchandises par grille, je saisis la ref, la quantite, le prix. le nom du produits est géneré par une formule de RECHERCHEV; Je... www.commentcamarche.net/forum/affich-7050334-excel-gestion-entrees-sorties-marchandises
Perl - Les fichiersLa notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles... www.commentcamarche.net/contents/perl/perlfich.php3
Perl - IntroductionHistoire de Perl Perl (Practical Extraction and Report Language) est un langage de programmation dérivé des scripts shell, créé en 1986 par Larry Wall afin de mettre au point un système de News entre deux réseaux. Il s'agit d'un langage interprété... www.commentcamarche.net/contents/perl/perlintro.php3
Port série et port parallèleIntroduction aux ports d'entrée-sortie Les ports d'entrée-sortie sont des éléments matériels de l'ordinateur, permettant au système de communiquer avec des éléments extérieurs, c'est-à-dire d'échanger des données, d'où l'appellation d'interface... www.commentcamarche.net/contents/pc/serie.php3