[SP-pm] perl - expect

Renato Santos renato.cron at gmail.com
Fri Apr 18 19:19:56 PDT 2014


*9^99 ++
On Apr 18, 2014 8:47 PM, "Tiago Peczenyj" <tiago.peczenyj at gmail.com> wrote:

> dá dinheiro :P
>
>
> 2014-04-18 20:45 GMT-03:00 Andre Carneiro <andregarciacarneiro at gmail.com>:
>
>> Nossa! Espero nunca trabalhar com  terminais 3270/IBM. Eles parecem
>> 'perigosos' ...
>>
>>
>> 2014-04-18 15:22 GMT-03:00 Marcio - Google <marciorp at gmail.com>:
>>
>> Acredito que ele esteja interagindo com um terminal 3270/IBM Mainframe
>>> ... esse assunto já rolou a um tempo atrás, iniciado por mim, houve
>>> bastante colaboração. Não conclui o projeto, mas no histórico tem coisas
>>> interessantes.
>>>
>>> Não consigo ajuda-lo porque estou praticamente sedado a alguns meses,
>>> desculpe.
>>>
>>> Fred, poste pelo menos um bloco completo (relevante ao assunto) do
>>> código que o pessoal conseguirá ajudar mais.
>>>
>>> [...]'s
>>>
>>> Marcio
>>>
>>> ========================================
>>> ########### Campanha Ajude o Marcio! ###########
>>> http://sosmarcio.blogspot.com.br/
>>> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
>>> ========================================
>>> Em 18/04/2014 10:34, "Tiago Peczenyj" <tiago.peczenyj at gmail.com>
>>> escreveu:
>>>
>>>  Isso eu sei, só queria entender de onde saiu o " devemos evitar "
>>>> Em 18/04/2014 11:25, "Leonardo Ruoso" <leonardo at ruoso.com> escreveu:
>>>>
>>>>> Em 18 de abril de 2014 11:14, Tiago Peczenyj <tiago.peczenyj at gmail.com
>>>>> > escreveu:
>>>>>
>>>>>> What?
>>>>>>
>>>>>
>>>>> *given, when and ~~  *
>>>>>
>>>>>
>>>>>>  Em 18/04/2014 10:58, "Vinícius Miasato" <viniciusmiasato at gmail.com>
>>>>>> escreveu:
>>>>>>
>>>>>>  Opa,
>>>>>>>
>>>>>>> given não deveria ser evitado? Aliás não precisamos de given at all,
>>>>>>> certo?
>>>>>>>
>>>>>>> atenciosamente,
>>>>>>> Vinícius Miasato
>>>>>>> Em 17/04/2014 17:41, "Tiago Peczenyj" <tiago.peczenyj at gmail.com>
>>>>>>> escreveu:
>>>>>>>
>>>>>>>> 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.
>>>>>>>>
>>>>>>>> sem saber mais detalhes fica impossivel ajudar.
>>>>>>>>
>>>>>>>> 2014-04-17 17:33 GMT-03:00 Daniel de Oliveira Mantovani <
>>>>>>>> daniel.oliveira.mantovani at gmail.com>:
>>>>>>>>
>>>>>>>>> Oxi, você pode fazer isso sem usar expected....
>>>>>>>>>
>>>>>>>>> given(<STDIN>) {
>>>>>>>>>
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> 2014-04-17 17:31 GMT-03:00 Frederico Melo <fdmmelo at gmail.com>:
>>>>>>>>> > Oi Daniel,
>>>>>>>>> >
>>>>>>>>> > 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...
>>>>>>>>> >
>>>>>>>>> > A estrutura que você sugeriu é legal mas, acho que só
>>>>>>>>> interagindo dentro do
>>>>>>>>> > perl.
>>>>>>>>> >
>>>>>>>>> > Obrigado,
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> > 2014-04-17 17:17 GMT-03:00 Daniel de Oliveira Mantovani
>>>>>>>>> > <daniel.oliveira.mantovani at gmail.com>:
>>>>>>>>> >
>>>>>>>>> >> Porque você quer usar expected ? (Seja lá o que esse método que
>>>>>>>>> você
>>>>>>>>> >> não especificou de onda venha faz).
>>>>>>>>> >>
>>>>>>>>> >>            given ($text) {
>>>>>>>>> >>                obj() when /OBJETIVO/;
>>>>>>>>> >>                consulta() when /CONSULTA/;
>>>>>>>>> >>            }
>>>>>>>>> >>
>>>>>>>>> >> 2014-04-17 17:01 GMT-03:00 Tiago Peczenyj <
>>>>>>>>> tiago.peczenyj at gmail.com>:
>>>>>>>>> >> > nunca usei assim mas baseado neste documento:
>>>>>>>>> >> >
>>>>>>>>> >> > http://search.cpan.org/~rgiersig/Expect-1.15/Expect.pod
>>>>>>>>> >> >
>>>>>>>>> >> > vc teria que usar o exp_continue no fim de cada subrotina.
>>>>>>>>> >> >
>>>>>>>>> >> >
>>>>>>>>> >> > 2014-04-17 16:58 GMT-03:00 Frederico Melo <fdmmelo at gmail.com
>>>>>>>>> >:
>>>>>>>>> >> >>
>>>>>>>>> >> >> Monges! Socorro!
>>>>>>>>> >> >> 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...
>>>>>>>>> >> >>
>>>>>>>>> >> >> 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.
>>>>>>>>> >> >>
>>>>>>>>> >> >> Ex.: se aparecer a string CONSULTA, devo disparar a subrotina
>>>>>>>>> >> >> consulta()
>>>>>>>>> >> >> Se aparecer a string OBJETIVO, devo disparar a subrotina
>>>>>>>>> obj() e assim
>>>>>>>>> >> >> por
>>>>>>>>> >> >> diante.
>>>>>>>>> >> >>
>>>>>>>>> >> >> 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.
>>>>>>>>> >> >>
>>>>>>>>> >> >> Para verificar isso, estruturei o código .pl assim:
>>>>>>>>> >> >>
>>>>>>>>> >> >> $exp->expect(2,
>>>>>>>>> >> >>
>>>>>>>>> >> >>               [ qr/SELECIONE/ => \&select()],
>>>>>>>>> >> >>
>>>>>>>>> >> >>               [ qr/OBJETIVO/ => \&obj()],
>>>>>>>>> >> >>
>>>>>>>>> >> >>               [ qr/AGUARDE/ => \&sai_6()],
>>>>>>>>> >> >>
>>>>>>>>> >> >>               [ qr/CONSULTA/ => \&consulta()],
>>>>>>>>> >> >>
>>>>>>>>> >> >>               [ timeout => \&cancela() ],
>>>>>>>>> >> >>
>>>>>>>>> >> >>               );
>>>>>>>>> >> >>
>>>>>>>>> >> >> 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.
>>>>>>>>> >> >>
>>>>>>>>> >> >> 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.
>>>>>>>>> >> >>
>>>>>>>>> >> >> O que está acontecendo é que o expect ou o perl só dispara a
>>>>>>>>> primeira
>>>>>>>>> >> >> sub... select()... independente da string encontrada...
>>>>>>>>> >> >>
>>>>>>>>> >> >> 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?
>>>>>>>>> >> >>
>>>>>>>>> >> >> Por favor, ajudem!
>>>>>>>>> >> >>
>>>>>>>>> >> >> Muito obrigado,
>>>>>>>>> >> >> Atte.,
>>>>>>>>> >> >> Frederico
>>>>>>>>> >> >>
>>>>>>>>> >> >>
>>>>>>>>> >> >> =begin disclaimer
>>>>>>>>> >> >>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>>> >> >>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>>> >> >>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>>> >> >> =end disclaimer
>>>>>>>>> >> >>
>>>>>>>>> >> >
>>>>>>>>> >> >
>>>>>>>>> >> >
>>>>>>>>> >> > --
>>>>>>>>> >> > Tiago B. Peczenyj
>>>>>>>>> >> > Linux User #405772
>>>>>>>>> >> >
>>>>>>>>> >> > http://about.me/peczenyj
>>>>>>>>> >> >
>>>>>>>>> >> > =begin disclaimer
>>>>>>>>> >> >    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>>> >> >  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>>> >> >  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>>> >> > =end disclaimer
>>>>>>>>> >> >
>>>>>>>>> >>
>>>>>>>>> >>
>>>>>>>>> >>
>>>>>>>>> >> --
>>>>>>>>> >>
>>>>>>>>> >> -dom
>>>>>>>>> >>
>>>>>>>>> >> --
>>>>>>>>> >>
>>>>>>>>> >> Daniel de Oliveira Mantovani
>>>>>>>>> >> Business Analytic Specialist
>>>>>>>>> >> Perl Evangelist /Astrophysics hobbyist.
>>>>>>>>> >> +55 11 9 8538-9897
>>>>>>>>> >> XOXO
>>>>>>>>> >> =begin disclaimer
>>>>>>>>> >>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>>> >>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>>> >>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>>> >> =end disclaimer
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> > =begin disclaimer
>>>>>>>>> >    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>>> >  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>>> >  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>>> > =end disclaimer
>>>>>>>>> >
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> -dom
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> Daniel de Oliveira Mantovani
>>>>>>>>> Business Analytic Specialist
>>>>>>>>> Perl Evangelist /Astrophysics hobbyist.
>>>>>>>>> +55 11 9 8538-9897
>>>>>>>>> XOXO
>>>>>>>>> =begin disclaimer
>>>>>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>>> =end disclaimer
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Tiago B. Peczenyj
>>>>>>>> Linux User #405772
>>>>>>>>
>>>>>>>> http://about.me/peczenyj
>>>>>>>>
>>>>>>>> =begin disclaimer
>>>>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>> =end disclaimer
>>>>>>>>
>>>>>>>>
>>>>>>> =begin disclaimer
>>>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>> =end disclaimer
>>>>>>>
>>>>>>>
>>>>>> =begin disclaimer
>>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>> =end disclaimer
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Leonardo Ruoso
>>>>> Journalist, Perl developer and business consultant
>>>>> Media, UFC/2006; Telecom, IFCE/1998
>>>>>
>>>>> =begin disclaimer
>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>> =end disclaimer
>>>>>
>>>>>
>>>> =begin disclaimer
>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>> =end disclaimer
>>>>
>>>>
>>> =begin disclaimer
>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>>
>>
>>
>> --
>> André Garcia Carneiro
>> Software Engineer
>> (11)982907780
>>
>> =begin disclaimer
>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://about.me/peczenyj
>
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20140418/bc155c3d/attachment-0001.html>


More information about the SaoPaulo-pm mailing list