[Cascavel-pm] captura de mensagens de programa

Alceu R. de Freitas Jr. glasswalk3r em yahoo.com.br
Segunda Março 10 04:55:42 CST 2003


Olá Ednardo,

 --- Ednardo Lobo <ednardo em elobo.cjb.net> escreveu: >
>     Quanto ao  `exec', após  sua chamada, não  há
> retorno,  seu `script'
> perl finaliza a execução nesse  ponto. Porém, se
> `/usr/bin/programa' não
> existir, nesse caso um valor falso será retornado.
> 
>     Se o  que você quer  fazer for  simplesmente
> executar um  programa e
> obter  a  saída desse  programa,  não  precisará 
> criar um  pipe,  basta
> utilizar o operador `qx//' (veja  `man perlop').
> Você poderá obter tanto
> 'STDOUT' quanto 'STDERR'.
> 
> 
> -- 
>     Ednardo Lobo - www.elobo.cjb.net

Eu obtive isso no www.perldoc.com:

"qx/STRING/ 
`STRING` 
A string which is (possibly) interpolated and then
executed as a system command with /bin/sh or its
equivalent. Shell wildcards, pipes, and redirections
will be honored. The collected standard output of the
command is returned; standard error is unaffected. In
scalar context, it comes back as a single (potentially
multi-line) string, or undef if the command failed. In
list context, returns a list of lines (however you've
defined lines with $/ or $INPUT_RECORD_SEPARATOR), or
an empty list if the command failed. 

Because backticks do not affect standard error, use
shell file descriptor syntax (assuming the shell
supports this) if you care to address this. To capture
a command's STDERR and STDOUT together: "

Ele funciona como `comando` e usa o shell para
execução do programa. O modo taint do Perl não permite
execuções diretas no shell. Eu não tenho condições de
testar, mas utilizar qx não iria apenas criar uma
mensagem de erro do modo taint?

Grato novamente,


=====
Alceu Rodrigues de Freitas Junior
--------------------------------------
glasswalk3r em yahoo.com.br
http://www.imortais.cjb.net
--
Notice that the stiffest tree is most easily cracked, while the bamboo or willow survives by bending with the wind. -----  Bruce Lee

_______________________________________________________________________
Busca Yahoo!
O serviço de busca mais completo da Internet. O que você pensar o Yahoo! encontra.
http://br.busca.yahoo.com/



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