<div dir="ltr">Renato,<div><br></div><div>O expect é esse mesmo! Por enquanto não tive problema com a regex. Fiz um perl para cada uma das ocorrências que procuro e funcionou. O meu problema acho que é mais no perl com o expect na estrutura que mostrei. O expect e o perl não estão disparando a função certa para a ocorrência desejada...</div>
<div><br></div><div>Mas, se rodo os perls específicos para as ocorrências encontradas ele processa certinho. </div><div><br></div><div>O formato de saida do servidor é texto flat puro... as regex buscam pelas strings sem erro...</div>
<div><br></div><div>Por favor help!</div><div><br></div><div>Frederico</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-04-17 17:03 GMT-03:00 Renato Santos <span dir="ltr"><<a href="mailto:renato.cron@gmail.com" target="_blank">renato.cron@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Não sei de qual expect você ta falando.<div><br></div><div>Pode ser do <a href="https://metacpan.org/pod/distribution/Expect/Expect.pod" target="_blank">https://metacpan.org/pod/distribution/Expect/Expect.pod</a></div>
<div>

<br></div><div>mas mesmo assim, eu nunca usei ele, mas pelo que li rapidamente, ele funciona lendo o STDOUT/ERR de um processo e escrevendo as respostas dependendo das regexp no STDIN.</div><div><br></div><div>Você pode confirmar se é isso? </div>


<div>Se for, qual o formato que esta o texto de entrada (ou seja, a saida do aplicativo) assim podemos ensinar qual regexp você precisa usar.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="">
2014-04-17 16:58 GMT-03:00 Frederico Melo <span dir="ltr"><<a href="mailto:fdmmelo@gmail.com" target="_blank">fdmmelo@gmail.com</a>></span>:<br>

</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Monges! Socorro!<div><div class="h5"><div>Sou bem limitado na programação em perl mas estou evoluindo com o tempo. Então desculpem pelas minhas dúvidas que para vocês, pode ser muito simples...</div>


<div><br></div><div>Bom, estou utilizando expect com perl e analiso alguns outputs de um servidor, em forma texto, que devo analisar e, dependendo da ocorrência de uma string, devo disparar uma determinada sub-rotina para tratativas específicas.</div>



<div><br></div><div>Ex.: se aparecer a string CONSULTA, devo disparar a subrotina consulta()</div><div>Se aparecer a string OBJETIVO, devo disparar a subrotina obj() e assim por diante.</div><div><br></div><div>O output do servidor é verificado pelo expect e, no momento que devo tomar a decisão, a tela do output é apenas uma, com apenas uma das ocorrências abaixo.</div>



<div><br></div><div>Para verificar isso, estruturei o código .pl assim:</div><div><br></div><div><p style="margin:0px;font-size:11px;font-family:Monaco">$<span style="color:rgb(178,55,243)">exp</span><span style="color:rgb(193,53,0)">-></span>expect<span style="color:rgb(193,53,0)">(</span><span style="color:rgb(178,49,0)">2</span><span style="color:rgb(193,53,0)">,</span></p>




<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(178,69,243)"><span style="color:rgb(193,53,0)">              [ </span>qr/SELECIONE/ <span style="color:rgb(193,53,0)">=> \</span><span style="color:rgb(0,0,0)">&select</span><span style="color:rgb(193,53,0)">()],</span></p>




<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(178,69,243)"><span style="color:rgb(193,53,0)">              [ </span>qr/OBJETIVO/ <span style="color:rgb(193,53,0)">=> \</span><span style="color:rgb(0,0,0)">&obj</span><span style="color:rgb(193,53,0)">()],</span></p>




<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">              [ <span style="color:rgb(178,69,243)">qr/AGUARDE/ </span>=> \<span style="color:rgb(0,0,0)">&sai_6</span>()],</p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(178,69,243)"><span style="color:rgb(193,53,0)">              [ </span>qr/CONSULTA/ <span style="color:rgb(193,53,0)">=> \</span><span style="color:rgb(0,0,0)">&consulta</span><span style="color:rgb(193,53,0)">()],</span></p>




<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">              [ <span style="color:rgb(0,0,0)">timeout </span>=> \<span style="color:rgb(0,0,0)">&cancela</span>() ],</p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">              );</p></div><div>Ou seja, no meu entendimento limitado, quero que o expect dispare uma das subs acima dependendo da string que ele encontrar no output do servidor.</div>



<div><br></div><div><div>Acredito que a estrutura acima, que parece uma matriz (desculpem a ignorância), vai executar TODAS as subs independente do conteúdo do output do servidor.</div></div><div><br></div><div>O que está acontecendo é que o expect ou o perl só dispara a primeira sub... select()... independente da string encontrada... </div>



<div><br></div><div>Sei que a condição para encontrar as strings funcionam pois, fiz um perl com expect para cada condição acima e, quando rodo individualmente cada .pl, funciona certo... o que estou errando? Como devo fazer o que preciso?</div>



<div><br></div><div>Por favor, ajudem!</div><div><br></div><div>Muito obrigado,</div><div>Atte.,</div><div>Frederico</div><div><br></div></div></div></div>
<br><div class="">=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></div></blockquote></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div><span style="color:rgb(51,51,51);font-size:x-small">Saravá,</span></div><div><span style="color:rgb(51,51,51);font-size:x-small">Renato CRON</span></div>


<div><div style="text-align:right"><font size="1" color="#333333"><a href="http://www.renatocron.com/blog/" target="_blank">http://www.renatocron.com/blog/</a></font></div></div><div style="text-align:right"><font size="1" color="#333333"><a href="http://twitter.com/#!/renato_cron" target="_blank">@renato_cron</a></font></div>



</font></span></div>
<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br></div>