Aide Linux - Liste de diffusion Ze-Linux
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [perl] scrip
Thierry FOURNIER wrote:
> etant pas tres fort en perl qq pourrait me decoder ce script ?
> merci
>
> #!/usr/bin/perl
> $|=1;
> print while(<>);
>
> en fait, c'est le $| qui me bloque et le <>
>
> merci
>
>
> ----------
Je ne suis pas une bête en Perl mais j'aime bien l'ésotérisme ...
alors dans les docs CPAN ( voir la doc "perlvar")
$| :
"Si initialisé à une valeur différente de zéro, force une actualisation
immédiatement et juste après chaque opération de lecture/écriture sur le
canal de sortie sélectionné courant. La valeur par défaut est 0 (que le
canal de sortie soit bufferisé par le système ou non; $| vous indique
seulement si vous avez explicitement demandé à Perl d'actualiser après
chaque écriture). Notez que STDOUT est typiquement bufferisé par ligne
en sortie écran et par blocs sinon. Initialiser cette variable est
surtout utile dans le cas d'une redirection de sortie, par exemple si
vous exécutez un script Perl avec rsh et que vous voulez voir le
résultat au fur et à mesure. Cela n'a aucun effet sur les buffers
d'entrée. Voir getc dans la page de manuel perlfunc pour cela.
(Mnémonique : l'édition actualisée de vos redirections | )"
print while(<>);
<> est un descripteur de fichier, par défaut, il représente le dernier
fichier ouvert, donc ce qu'on vient de saisir sur la ligne de commande.
On trouve aussi une explication dans le "perlvar"
Donc, tant que la ligne de commande est alimentée par quelque chose, on
l'affiche par le print.
la première ligne évite en fait d'avoir à valider chaque saisie ( voir
l'explication de la doc).
pour mieux comprendre, essayes d'éxecuter le script sans cette première
ligne, puis avec.
Je ne sais pas si c'est très clair, mais c'est très ésotérique.
----------------------------------
Informations, désabonnement, règles, obligations sur la liste Aide-Linux :
http://lists.ze-linux.org/howto_ml.html
- References:
- [perl] scrip
- From: "Thierry FOURNIER" <poubelle@prosernat.com>
Aide Linux - Liste de diffusion Ze-Linux