[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