[Cascavel-pm] Tratando o retorno de um comando via open

João Gabriel jamorreu em gmail.com
Quinta Setembro 27 18:16:21 PDT 2007


Bom, depois de alguns testes...

Usando o "open" com uma | no final eu consigo enviar o comando, porém
após o comando inicial eu gostaria de "ir conversando"...
ex.:
<CODE>
open(cmd, "comando|");
while(<cmd>) { print "$_"; }
print cmd "outro comando";
while(<cmd>) { print "$_"; }
close(cmd);
</CODE>
(só recebo as respostas do primeiro comando)

Testando o IPC::Open2 e 3, não obtive respostas (não sei se uso a
sintaxe correta):
*ambiente windows, comando dir*
<CODE>
use IPC::Open2;
$pid = open2($chld_out, $chld_in, 'dir');
print "$pid - $chld_out - $chld_in";
</CODE>
resposta do print: "3536 - GLOB(0x15d65bc) - GLOB(0x225c74)"
*mesma coisa com o ipc::open3


Sugestões? Dicas? Correções na sintaxe?

--
Um abraço,
João Gabriel C. Laass
Página pessoal - www.JGCL.pt.to
CGiClube.net - www.CGiClube.net
Vitória Perl Mongers - Vitoria.pm.org




> Em 25/09/07, thomas<thomas em tcnet.com.br> escreveu:
> > perldoc -f open
> >
> >                If the filename begins with '|', the filename is interpreted
> > as
> >                a command to which output is to be piped, and if the
> > filename
> >                ends with a '|', the filename is interpreted as a command
> > which
> >                pipes output to us.
> >
> > On Mon, 24 Sep 2007 19:14:29 -0300, "João Gabriel" <jamorreu em gmail.com>
> > wrote:
> > > Alas pessoal!!
> > >
> > > Estou precisando executar comandos via perl (com interface web), e
> > > estou seguinto assim:
> > >
> > > <CODE>
> > > open(teste, "|comando");
> > > while($resultado = <teste>) {
> > >  print "$resultado";
> > > }
> > > close(teste);
> > > </CODE>
> > >
> > > Porém o comando não retorna na variavel "$resultado" e sim já sai
> > > automaticamente no script.
> > >
> > > 1. Como fazer para o resultado do comando ir para a variavel
> > "$resultado"?
> > > 2. "perldoc [o que]" para mais informações sobre o assunto?
> > >
> > >
> > --
> > Thomas Britis
> > TCNet Info e Telecom LTDA


Mais detalhes sobre a lista de discussão Cascavel-pm