OVH Cloud OVH Cloud

STDIN sur windows

2 réponses
Avatar
alain
salut,

sur windows, je souhaite que mon script perl traite les données qui lui son
transmise par STDIN, exemple :

while(<STDIN>){
print "essai : ", $_;
}

mais lorsque je fait : c:\>dir |monscriptperl.pl
sur windows, sa ne fonctionne pas, par contre sur linux oui !
qu'est-ce qui ne va pas ?

d'avance merci
A+

2 réponses

Avatar
jl_morel
Dans l'article <40249d3a$0$28141$, a
dit...

sur windows, je souhaite que mon script perl traite les données qui lui son
transmise par STDIN, exemple :

while(<STDIN>){
print "essai : ", $_;
}

mais lorsque je fait : c:>dir |monscriptperl.pl
sur windows, sa ne fonctionne pas, par contre sur linux oui !
qu'est-ce qui ne va pas ?



Si vous lancer le script avec
c:>dir |monscriptperl.pl
c'est que perl est associé à l'extension .pl
Dans ce cas la redirection des entrée/sortie n'est pas assurée.
Il faut :
c:>dir |perl monscriptperl.pl

ou alors utilisez perl2bat
http://www.bribes.org/perl/docfr/pl2bat.html
(voir en particulier points 4 et 5)

ou encore runperl
http://www.bribes.org/perl/docfr/runperl.html

HTH

--
J-L.M.

Avatar
alain
Si vous lancer le script avec
c:>dir |monscriptperl.pl
c'est que perl est associé à l'extension .pl
Dans ce cas la redirection des entrée/sortie n'est pas assurée.
Il faut :
c:>dir |perl monscriptperl.pl


Yes! trop cool, merci bien :)

A+