[Cascavel-pm] RES: recuperar retorno da execução de um comando

Paola Montini PMontini em ymf.com.br
Terça Setembro 5 12:29:42 PDT 2006


Juliano,
   Não sei se isso irá ajudá-lo, ou se é realmente aquilo de que precisa. Segue em anexo duas pequenas sub rotinas a execcmd, faz a execução de um comando qualquer no shell.... e a showerrror retorna mensagens de erros caso exista.
    Vc precisa passar dois parâmetros para execcmd . A linha de comando que quer executar e o tipo de retorno que deseja sendo (0) o retorno em código e (1) o retorno em mensagem , esse retorno (1) é bom caso queira capturar o resultado do comando ls por exemplo.
 
PS: Não é necessário modulos do PERL para esse função.
 
#!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;
   }
}

 

*Paola Montini 
YMF-Consultoria 
Fone: 5010-9220 

-----Mensagem original-----
De: cascavel-pm-bounces+pmontini=ymf.com.br em pm.org [mailto:cascavel-pm-bounces+pmontini=ymf.com.br em pm.org]Em nome de Juliano Dantas
Enviada em: terça-feira, 5 de setembro de 2006 16:22
Para: cascavel-pm em pm.org
Assunto: [Cascavel-pm] recuperar retorno da execução de um comando


Caros Monges, boa tarde.
 
Existe algum modulo Perl que chama um comando externo e consiga recuperar o retorno da execução?
Eu pensei em utilizar o system e o fork, porém, não obtive sucesso. 
Ele simplesmente retorna o valor do "return Code", eu queria que ele retornasse a execução do comando externo.

Abraços a todos
-- 
Juliano Dantas Almeida Silva 

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20060905/4b09639f/attachment.html 


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