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 < [email protected]>: > 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 <[email protected]>: > > 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 <[email protected]>: > >> > >> 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: [email protected] > >> 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: [email protected] > > 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: [email protected] > 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: [email protected] L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer
