<div dir="ltr">Oi Daniel,<div><br></div><div>Preciso do expect pois vou interagir com o servidor. E analiso o que esse servidor escreve em uma tela para tomar a decisão do próximo passo...</div><div><br></div><div>A estrutura que você sugeriu é legal mas, acho que só interagindo dentro do perl.</div>
<div><br></div><div>Obrigado,</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-04-17 17:17 GMT-03:00 Daniel de Oliveira Mantovani <span dir="ltr"><<a href="mailto:daniel.oliveira.mantovani@gmail.com" target="_blank">daniel.oliveira.mantovani@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Porque você quer usar expected ? (Seja lá o que esse método que você<br>
não especificou de onda venha faz).<br>
<br>
           given ($text) {<br>
               obj() when /OBJETIVO/;<br>
               consulta() when /CONSULTA/;<br>
           }<br>
<br>
2014-04-17 17:01 GMT-03:00 Tiago Peczenyj <<a href="mailto:tiago.peczenyj@gmail.com">tiago.peczenyj@gmail.com</a>>:<br>
<div><div class="h5">> nunca usei assim mas baseado neste documento:<br>
><br>
> <a href="http://search.cpan.org/~rgiersig/Expect-1.15/Expect.pod" target="_blank">http://search.cpan.org/~rgiersig/Expect-1.15/Expect.pod</a><br>
><br>
> vc teria que usar o exp_continue no fim de cada subrotina.<br>
><br>
><br>
> 2014-04-17 16:58 GMT-03:00 Frederico Melo <<a href="mailto:fdmmelo@gmail.com">fdmmelo@gmail.com</a>>:<br>
>><br>
>> Monges! Socorro!<br>
>> Sou bem limitado na programação em perl mas estou evoluindo com o tempo.<br>
>> Então desculpem pelas minhas dúvidas que para vocês, pode ser muito<br>
>> simples...<br>
>><br>
>> Bom, estou utilizando expect com perl e analiso alguns outputs de um<br>
>> servidor, em forma texto, que devo analisar e, dependendo da ocorrência de<br>
>> uma string, devo disparar uma determinada sub-rotina para tratativas<br>
>> específicas.<br>
>><br>
>> Ex.: se aparecer a string CONSULTA, devo disparar a subrotina consulta()<br>
>> Se aparecer a string OBJETIVO, devo disparar a subrotina obj() e assim por<br>
>> diante.<br>
>><br>
>> O output do servidor é verificado pelo expect e, no momento que devo tomar<br>
>> a decisão, a tela do output é apenas uma, com apenas uma das ocorrências<br>
>> abaixo.<br>
>><br>
>> Para verificar isso, estruturei o código .pl assim:<br>
>><br>
>> $exp->expect(2,<br>
>><br>
>>               [ qr/SELECIONE/ => \&select()],<br>
>><br>
>>               [ qr/OBJETIVO/ => \&obj()],<br>
>><br>
>>               [ qr/AGUARDE/ => \&sai_6()],<br>
>><br>
>>               [ qr/CONSULTA/ => \&consulta()],<br>
>><br>
>>               [ timeout => \&cancela() ],<br>
>><br>
>>               );<br>
>><br>
>> Ou seja, no meu entendimento limitado, quero que o expect dispare uma das<br>
>> subs acima dependendo da string que ele encontrar no output do servidor.<br>
>><br>
>> Acredito que a estrutura acima, que parece uma matriz (desculpem a<br>
>> ignorância), vai executar TODAS as subs independente do conteúdo do output<br>
>> do servidor.<br>
>><br>
>> O que está acontecendo é que o expect ou o perl só dispara a primeira<br>
>> sub... select()... independente da string encontrada...<br>
>><br>
>> Sei que a condição para encontrar as strings funcionam pois, fiz um perl<br>
>> com expect para cada condição acima e, quando rodo individualmente cada .pl,<br>
>> funciona certo... o que estou errando? Como devo fazer o que preciso?<br>
>><br>
>> Por favor, ajudem!<br>
>><br>
>> Muito obrigado,<br>
>> Atte.,<br>
>> Frederico<br>
>><br>
>><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>
><br>
><br>
><br>
> --<br>
> Tiago B. Peczenyj<br>
> Linux User #405772<br>
><br>
> <a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a><br>
><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>
<br>
<br>
<br>
--<br>
<br>
</div></div>-dom<br>
<br>
--<br>
<br>
Daniel de Oliveira Mantovani<br>
Business Analytic Specialist<br>
Perl Evangelist /Astrophysics hobbyist.<br>
<a href="tel:%2B55%2011%209%208538-9897" value="+5511985389897">+55 11 9 8538-9897</a><br>
XOXO<br>
<div class="HOEnZb"><div class="h5">=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>
</div></div></blockquote></div><br></div>