[SP-pm] perl - expect
Tiago Peczenyj
tiago.peczenyj at gmail.com
Fri Apr 18 16:46:52 PDT 2014
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20140418/e4b0f545/attachment-0001.html>
More information about the SaoPaulo-pm
mailing list