[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