Monges mestres! Obrigado pelo apoio e atenção! Estou com acesso restrito e, assim que der retorno com detalhes.<div><br></div><div>Márcio, espero que vc melhore! Realmente você havia iniciado esse tema de integração há algum tempo e foi por ele que iniciei meu projeto. Obrigado pelo apoio! O Eden tb ajudou demais! Agora tou emperrado... <br>
<div><br></div><div>Atte,</div><div>Frederico</div><div><br><br>On Thursday, April 17, 2014, Tiago Peczenyj <<a href="mailto:tiago.peczenyj@gmail.com">tiago.peczenyj@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div>se o cara vai ler da stdin ( e estamos admitindo que o cara fez um pipe para o script ) ok, mas o Expect te dá apenas a opção de controlar o timeout com processo como também é bidirecional.<br></div><div class="gmail_extra">


<br></div><div class="gmail_extra">sem saber mais detalhes fica impossivel ajudar.<br><br><div class="gmail_quote">2014-04-17 17:33 GMT-03:00 Daniel de Oliveira Mantovani <span dir="ltr"><<a href="javascript:_e(%7B%7D,'cvml','daniel.oliveira.mantovani@gmail.com');" target="_blank">daniel.oliveira.mantovani@gmail.com</a>></span>:<br>


<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Oxi, você pode fazer isso sem usar expected....<br>
<br>
given(<STDIN>) {<br>
<br>
}<br>
<br>
2014-04-17 17:31 GMT-03:00 Frederico Melo <<a>fdmmelo@gmail.com</a>>:<br>
<div><div>> Oi Daniel,<br>
><br>
> Preciso do expect pois vou interagir com o servidor. E analiso o que esse<br>
> servidor escreve em uma tela para tomar a decisão do próximo passo...<br>
><br>
> A estrutura que você sugeriu é legal mas, acho que só interagindo dentro do<br>
> perl.<br>
><br>
> Obrigado,<br>
><br>
><br>
> 2014-04-17 17:17 GMT-03:00 Daniel de Oliveira Mantovani<br>
> <<a>daniel.oliveira.mantovani@gmail.com</a>>:<br>
><br>
>> 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>tiago.peczenyj@gmail.com</a>>:<br>
>> > 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>fdmmelo@gmail.com</a>>:<br>
>> >><br>
>> >> Monges! Socorro!<br>
>> >> Sou bem limitado na programação em perl mas estou evoluindo com o<br>
>> >> 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<br>
>> >> 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<br>
>> >> consulta()<br>
>> >> Se aparecer a string OBJETIVO, devo disparar a subrotina obj() e assim<br>
>> >> por<br>
>> >> diante.<br>
>> >><br>
>> >> O output do servidor é verificado pelo expect e, no momento que devo<br>
>> >> tomar<br>
>> >> a decisão, a tela do output é apenas uma, com apenas uma das<br>
>> >> 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<br>
>> >> das<br>
>> >> subs acima dependendo da string que ele encontrar no output do<br>
>> >> 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<br>
>> >> 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<br>
>> >> perl<br>
>> >> com expect para cada condição acima e, quando rodo individualmente cada<br>
>> >> .pl,<br>
>> >> funciona certo... o que estou errando? Como devo fazer o que preciso?<br>
>> >><br>
>> >> Por favor, ajude</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Tiago B. Peczenyj<br>Linux User #405772<br><br><a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a>
</div></div>
</blockquote></div></div>