<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">


<META content="MSHTML 6.00.2900.2802" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2><SPAN 
class=158452519-05092006>Juliano,</SPAN></FONT></DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2><SPAN 
class=158452519-05092006>&nbsp;&nbsp;&nbsp;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.</SPAN></FONT></DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2><SPAN 
class=158452519-05092006>&nbsp;&nbsp;&nbsp; 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.</SPAN></FONT></DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2><SPAN 
class=158452519-05092006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2><SPAN 
class=158452519-05092006>PS: Não é necessário modulos do PERL para esse 
função.</SPAN></FONT></DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2><SPAN 
class=158452519-05092006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2><SPAN 
class=158452519-05092006>#!usr/bin/perl</SPAN></FONT></DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2><SPAN 
class=158452519-05092006>s</SPAN>ub showerror<BR>{<BR>&nbsp;&nbsp; print $_[0] . 
"\n";<BR>&nbsp;&nbsp; print $_[1] . "\n";<BR>&nbsp;&nbsp; print $_[2] . 
"\n";<BR>}</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2>sub 
execcmd<BR>{<BR>&nbsp;&nbsp; $cmdline = $_[0];<BR>&nbsp;&nbsp; $returnmsg = 
$_[1];</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face="Palatino Linotype"><FONT color=#0000ff><FONT 
size=2>&nbsp;&nbsp; $resultmsg = `$cmdline`;<SPAN 
class=158452519-05092006>&nbsp;&nbsp; -- Executa a&nbsp;linha de 
comando</SPAN><BR>&nbsp;&nbsp; $exitcode = $? &gt;&gt;8 ;<SPAN 
class=158452519-05092006>&nbsp; -- Retorna o código de 
erro</SPAN><BR>&nbsp;&nbsp; $errormsg = "$!";<SPAN class=158452519-05092006> -- 
Retorna a mensagem de erro</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2>&nbsp;&nbsp; print 
$resultmsg;</FONT></DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2>&nbsp; if((!$exitcode 
eq 0))<BR>&nbsp; {<BR>&nbsp;&nbsp; showerror("Erro 
executando:$cmdline",$errormsg,$resultmsg);<BR>&nbsp; }</FONT></DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2>&nbsp; if ($returnmsg 
eq 1){<BR>&nbsp;&nbsp;&nbsp; return $resultmsg;<SPAN class=158452519-05092006> 
</SPAN><BR>&nbsp;&nbsp; }<BR>&nbsp;&nbsp; else {<BR>&nbsp;&nbsp;&nbsp; return 
$exitcode;<BR>&nbsp;&nbsp; }<BR>}<BR></FONT></DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2></FONT>&nbsp;</DIV>
<P><FONT face=Wingdings color=#000080 size=2>b</FONT><FONT 
face="Palatino Linotype" color=#000080 size=2>Paola Montini</FONT> <BR><FONT 
face="Palatino Linotype" color=#000080 size=2>YMF-Consultoria</FONT> <BR><FONT 
face="Palatino Linotype" color=#000080 size=2>Fone: 5010-9220</FONT> </P>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma 
  size=2>-----Mensagem original-----<BR><B>De:</B> 
  cascavel-pm-bounces+pmontini=ymf.com.br@pm.org 
  [mailto:cascavel-pm-bounces+pmontini=ymf.com.br@pm.org]<B>Em nome de 
  </B>Juliano Dantas<BR><B>Enviada em:</B> terça-feira, 5 de setembro de 2006 
  16:22<BR><B>Para:</B> cascavel-pm@pm.org<BR><B>Assunto:</B> [Cascavel-pm] 
  recuperar retorno da execução de um comando<BR><BR></FONT></DIV>
  <DIV>Caros Monges, boa tarde.</DIV>
  <DIV>&nbsp;</DIV>
  <DIV>Existe algum modulo Perl que chama um comando externo e consiga recuperar 
  o retorno da execução?</DIV>
  <DIV>Eu pensei em utilizar o system e o fork, porém, não obtive sucesso. 
</DIV>
  <DIV>Ele simplesmente retorna o valor do "return Code", eu queria que ele 
  retornasse a execução do comando externo.<BR clear=all></DIV>
  <DIV>Abraços a todos<BR>-- <BR>Juliano Dantas Almeida Silva 
</DIV></BLOCKQUOTE></BODY></HTML>