OVH Cloud OVH Cloud

open (FOO, "-|")

1 réponse
Avatar
ecureuil
bonsoir,

dans perlsec :
open(FOO,"echo $arg|"); # Pas Ok, mais...
open(FOO,"-|") or exec 'echo', $arg; # Ok

J'ai une ligne du style
open(FOO,"$cde $arg 2>&1 |"); # cde 1

Je n'arrive pas à la transformer en
open(FOO,"-|") or exec $cde, $arg;
Je ne sais pas où mettre le 2>&1

si quelqu'un pouvait m'aider...

sans l'option -T la ligne où j'ai mis "cde 1" me rappatrie les msgs du pgm
$cde
Mais cela ne passe pas avec l'option -T ;o(

merci
anne

1 réponse

Avatar
Nicolas George
"ecureuil" wrote in message <41f57d37$0$16410$:
J'ai une ligne du style
open(FOO,"$cde $arg 2>&1 |"); # cde 1

Je n'arrive pas à la transformer en
open(FOO,"-|") or exec $cde, $arg;
Je ne sais pas où mettre le 2>&1

si quelqu'un pouvait m'aider...


Il faut faire la redirection entre le fork (donc open qui a retourné faux)
et l'exec. Donc quelque chose comme ça devrait faire l'affaire :

open(FOO, "-|") or ( open STDERR, ">&STDOUT" and exec $cde, $arg );

(non testé)