[Cascavel-pm] comando system

jimmy jimmy.tty em gmail.com
Quarta Agosto 12 10:58:46 PDT 2009


On Wed, Aug 12, 2009 at 11:25:16AM -0300, Elvio Barbalho wrote:
>    Senhores bom dia estou executando um programa através da função system
>    (system(programa);) quando ocorre algum problema neste programa ele
>    informa na tela o erro queria saber se é possível capturar este erro e
>    atribuila a uma variável?????
> 
>    Elvio Barbalho
>    Brasília, DF
>    Brasil
> 
>    T + 55 61 21096814
>    C + 55 61 84223137
>    C + 55 61 81751213
>    elvio.barbalho em gmail.com
> _______________________________________________

eu lhe recomendaria o Open3, segue um exemplo simples:

use strict;
use warnings;
use IPC::Open3;
use Symbol;

my $shcmd = q(/usr/bin/rm);
my @args = qw(remova-me);
my ($stdin, $stdout, $stderr) = map { gensym() } ( 1..3 );
my $pid = open3($stdin, $stdout, $stderr, $shcmd, @args);
my @stdout = <$stdout>;
my @stderr = <$stderr>;
close($stdin);
close($stdout);
close($stderr);
print(qq($_\n)) for(@stderr);

ao executar ele imprime:

/usr/bin/rm: cannot remove `remova-me': No such file or directory

tem mais informações no hitórico da lista e dê uma lista e em
http://www.perl.org.br/Artigos/ProgramaçãoSegura
sobre esse módulo.


-- 
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------


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