[Cascavel-pm] RES: recuperar retorno da execução de um comando
Nilson Santos Figueiredo Junior
acid06 em gmail.com
Terça Setembro 5 12:47:15 PDT 2006
On 9/5/06, Paola Montini <PMontini em ymf.com.br> wrote:
> #!usr/bin/perl
> sub showerror
> {
> print $_[0] . "\n";
> print $_[1] . "\n";
> print $_[2] . "\n";
> }
>
> sub execcmd
> {
> $cmdline = $_[0];
> $returnmsg = $_[1];
>
> $resultmsg = `$cmdline`; -- Executa a linha de comando
> $exitcode = $? >>8 ; -- Retorna o código de erro
> $errormsg = "$!"; -- Retorna a mensagem de erro
>
> print $resultmsg;
>
> if((!$exitcode eq 0))
> {
> showerror("Erro
> executando:$cmdline",$errormsg,$resultmsg);
> }
>
> if ($returnmsg eq 1){
> return $resultmsg;
> }
> else {
> return $exitcode;
> }
> }
Oi Paola,
Suponho que sua intenção realmente tenha sido de ajudar o Juliano.
Porém, vale ressaltar que esse código enviado possui inúmeros
problemas. Mais tarde, se eu tiver tempo, posso tentar explicar os
problemas linha a linha (se alguém não fizer isso antes de mim).
Mas logo de cara já dá pra falar o seguinte: falta um "use strict" no
começo do código. Ele é o que garante a utilização correta de escopo
de varíaveis, fazendo que elas tenham que ser declaradas antes (entre
outras coisas).
-Nilson Santos F. Jr.
Mais detalhes sobre a lista de discussão Cascavel-pm