<!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> 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> 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> </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> </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> print $_[0] .
"\n";<BR> print $_[1] . "\n";<BR> print $_[2] .
"\n";<BR>}</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2>sub
execcmd<BR>{<BR> $cmdline = $_[0];<BR> $returnmsg =
$_[1];</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face="Palatino Linotype"><FONT color=#0000ff><FONT
size=2> $resultmsg = `$cmdline`;<SPAN
class=158452519-05092006> -- Executa a linha de
comando</SPAN><BR> $exitcode = $? >>8 ;<SPAN
class=158452519-05092006> -- Retorna o código de
erro</SPAN><BR> $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> </DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2> print
$resultmsg;</FONT></DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2> if((!$exitcode
eq 0))<BR> {<BR> showerror("Erro
executando:$cmdline",$errormsg,$resultmsg);<BR> }</FONT></DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2> if ($returnmsg
eq 1){<BR> return $resultmsg;<SPAN class=158452519-05092006>
</SPAN><BR> }<BR> else {<BR> return
$exitcode;<BR> }<BR>}<BR></FONT></DIV>
<DIV><FONT face="Palatino Linotype" color=#0000ff size=2></FONT> </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> </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>