Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

écrire sur l'erreur standard

7 réponses
Avatar
mpg
Bonjour,

Mes excuses pour cette question sans doute très basique, mais je débute et
ne maîtrise encore pas très bien le système de documentation.

Comment fait-on pour écrire sur l'erreur standard ?

Je commence à écrire quelques scripts manipulant des fichiers texte, j'aime
bien qu'ils puissent agir comme des filtre, agissant sur l'entrée standard
et écrivant sur l'entrée standard. Maintenant que ces scripts me donnent
l'impression de marcher dans les cas que j'ai testés, j'ai envie de
rajouter un contrôle des erreurs, et ça me paraîtrait tout naturel
d'envoyer les éventuelles rouspétances vers la sortie standard.

Merci d'avance !

Manuel.

7 réponses

Avatar
Thierry B.
--{ mpg a plopé ceci: }--

Comment fait-on pour écrire sur l'erreur standard ?

print STDERR "plop :)n";



--
{ SIGAREDECUBA, "HAVANE" },
/* Instructs the process to share resources and to hate USA. Kill
* remains the dictator, though */
--{ f.m.b.l revisite la command kill }--

Avatar
Thierry B.
--{ Thierry B. a plopé ceci: }--

--{ mpg a plopé ceci: }--

Comment fait-on pour écrire sur l'erreur standard ?

print STDERR "plop :)n";


Et tu peux aussi regarder le module Carp.


--
$ curl http://*.*.*/*.txt > ~/.signature


Avatar
mpg
Le (on) dimanche 25 novembre 2007 02:01, Thierry B. a écrit (wrote) :

--{ mpg a plopé ceci: }--

Comment fait-on pour écrire sur l'erreur standard ?

print STDERR "plop :)n";


J'aurais du essayer : c'est tellement évident. Merci en tout cas.


Manuel.


Avatar
espie
In article <fia7q8$ce2$, mpg wrote:
Bonjour,

Mes excuses pour cette question sans doute très basique, mais je débute et
ne maîtrise encore pas très bien le système de documentation.

Comment fait-on pour écrire sur l'erreur standard ?


print STDERR "Comme ca";

Avatar
Paul Gaborit
À (at) Sun, 25 Nov 2007 16:19:36 +0000 (UTC),
(Marc Espie) écrivait (wrote):
In article <fia7q8$ce2$, mpg wrote:
Bonjour,

Mes excuses pour cette question sans doute très basique, mais je débute et
ne maîtrise encore pas très bien le système de documentation.

Comment fait-on pour écrire sur l'erreur standard ?


print STDERR "Comme ca";


Sans oublier :

warn "Comme çan";

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>


Avatar
Vincent Lefevre
Dans l'article ,
Paul Gaborit écrit:

Sans oublier :

warn "Comme çan";


Mieux vaut peut-être éviter les caractères non ASCII sur stderr:

http://rt.perl.org/rt3/Public/Bug/Display.html?idC214

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)

Avatar
Paul Gaborit
À (at) Mon, 26 Nov 2007 15:58:46 +0000 (UTC),
Vincent Lefevre <vincent+ écrivait (wrote):
Dans l'article ,
Paul Gaborit écrit:

Sans oublier :

warn "Comme çan";


Mieux vaut peut-être éviter les caractères non ASCII sur stderr:

http://rt.perl.org/rt3/Public/Bug/Display.html?idC214


;-)

Pas mal comme bug ! Ce qui est étonnant c'est que ça ne plante pas
'print' mais ça plante 'warn' (ici en 5.8.8 sur Ubuntu).

Mais, depuis quelques temps, je travaille quasiment tout le temps en
utf-8 et ça marche bien (avec 'print' comme avec 'warn').

Par ailleurs, dans un vrai message, on n'utilise jamais de texte en
français (puisqu'on s'adresse au programmeur) ou alors c'est une
donnée et elle passe généralement via Data::Dumper (ou équivalent).

Espérons que la version 5.10 de Perl (qui sortira très bientôt)
corrigera cela.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>