[SP-pm] perl - expect
Frederico Melo
fdmmelo at gmail.com
Thu Apr 17 13:31:02 PDT 2014
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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20140417/954f799b/attachment.html>
More information about the SaoPaulo-pm
mailing list