1 - system não retorna nada, então presta atenção! Seja o que for que você tá imprimindo, é da saída padrão ( STDOUT ), e nem tudo o q vc precisa vem no STDOUT...<div><br></div><div>perldoc -f system</div><div><br></div><div>
2 - Você deveria usar eval para tratar suas exceções, mas não usando system, porque system não retorna nada. Eu, particularmente gosto do readpipe, mas tem gente aqui que vai falar para você executar o comando assim: @result = `comando`  ( Você pode fazer isso, desde que dentro de um eval ). Ambos podem te retornar um array com a resposta do S.O. para vc. Divirta-se!</div>
<div><br></div><div>perldoc -f readpipe</div><div><br></div><div>perldoc -f eval</div><div><br></div><div><br></div><div>Sugestão:</div><div><br></div><div>&lt;code&gt;</div><div><br></div><div>use strict;</div><div>use warnings;</div>
<div><br></div><div>.</div><div>.</div><div>.</div><div><br></div><div>my @result = ();</div><div>eval {</div><div>    @result = readpipe &quot;COMANDO&quot;;</div><div>};</div><div>if($@){</div><div>      #TRATE AS EXCECOES AQUI.</div>
<div>}</div><div>else {</div><div>   #COMANDO OK!</div><div>}</div><div>&lt;/code&gt;</div><div><br></div><div><br></div><div>Cheers!</div><div><br><div><br></div><div><br></div><div><br><br><div class="gmail_quote">2010/7/26 Denilson Silva <span dir="ltr">&lt;<a href="mailto:denilsongv2@hotmail.com">denilsongv2@hotmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">



<div>
<br> Oi pessoal, <br>
<br>
 Estou com o seguinte problema: <br>
eu tenho um script perl que executa um programa através da função<br>
 system, este programa gera sua saída num arquivo, ai quando ele <br>
termina a execução eu imprimo o conteúdo do arquivo na página web, <br>
porém, quando a execução do programa é demorada o script não <br>
continua a execução após a chamada system, ele reinicia e depois <br>
termina.<br>
<br>
script resumido:<br>
...<br>
my   $query = CGI-&gt;new;<br>
print $query-&gt;header;<br>
print $query-&gt;start_html(&quot;Resultado&quot;);<br>
<b>&amp;executaBuscas();</b><br>
print $query-&gt;end_html;<br>
<br>
<br>
sub executaBuscas{<br>
....<br>
    if ( $query-&gt;param(&#39;ncbi&#39;) ) {<br>
        ...                           <br>
        print $query-&gt;h2(&#39; Resultado NCBI&#39;);              <br>
        &amp;<b>NCBI</b>($arquivo_de_entrada, $ncbi_prog, $ncbi_base);<br>
    }<br>
....<br>
}<br>
<br>
sub NCBI {<br>
<br>
    my $ncbi      = NCBI-&gt;new();<br>
    $arquivo_de_saida = &quot;resultado.txt&quot;;<br>
    $ncbi-&gt;setResultado($arquivo_de_saida);    <br>
    $ncbi-&gt;<b>consulta</b>();<br>
    $ncbi-&gt;exibeResultado(); <b> &lt;- está linha não é executada quanda função consulta demora na chamada system</b><br>
}<br>
<br>
consulta{<br>
....<br>
<b>system</b>(&quot;/usr/local/blast/bin/blastall -p $programa -d  $pathbase -i $sequencia -o $resultado&quot;);<br>
....<br>
}<br>
<br>
saída com erro (o script imprime o comando print $query-&gt;h2(&#39; Resultado NCBI&#39;); duas vezes) :<br>
<br>
Resultado NCBI<br>
Resultado NCBI<br>
<br>
saida correta:<br>
<br>
Resultado NCBI<br>
<br>
#conteúdo do arquivo<br>
<br>
<br>
<b><br>

Se alguém puder ajudar ?</b><br>
<br>
<br>
<br>
Desde já obrigado.<br>
Abraço.<br>Denilson S. de Andrade<br><br><br><br>                                               <br><hr>O INTERNET EXPLORER 8 DÁ DICAS DE SEGURANÇA PARA VOCÊ <a href="http://www.microsoft.com/brasil/windows/internet-explorer/features/dicas.aspx?tabid=1&amp;catid=1&amp;WT.mc_id=1634" target="_blank">SAIBA MAIS!</a></div>

<br>_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></blockquote></div><br><br clear="all"><br>-- <br>André Garcia Carneiro<br>Analista/Desenvolvedor Perl<br>
(11)82907780<br>
</div></div>