< < 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: Les expressions régulières monter: Les entrées-sorties précédent: La fermeture   Index


Le buffering

Les opérations d'entrée-sortie sont bufferisées par défaut. Il est possible de forcer perl à faire un flush après chaque opération de lecture ou d'écriture en fixant la variable spéciale $| à une valeur non nulle, après avoir sélectionné le descripteur courant comme descripteur par défaut grâce à la commande select.

On utilise communément cette syntaxe :

$oldfh = select(FILE);
$| = 1;
select($oldfh);
Note: la fonction select existe également sous la même forme qu'en C, pour effectuer l'appel-système select, ce qui peut induire une certaine confusion. Pour plus d'informations sur l'appel-système select, reportez-vous à la page de manuel de votre système :

$rin = $win = $ein = '';
vec($rin, fileno(STDIN), 1) = 1;
vec($win, fileno(STDOUT), 1) = 1;
$ein = $rin | $win;

($nfound, $timeleft) = select($rout = $rin,
                              $wout = $win,
                              $eout = $ein,
                              $timeout);
Si on désire plus de lisibilité pour fixer le buffering, on peut utiliser le module FileHandle :

use FileHandle;

autoflush FILE 1;


next up previous index
suivant: Les expressions régulières monter: Les entrées-sorties précédent: La fermeture   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/