What? Em 18/04/2014 10:58, "Vinícius Miasato" <[email protected]> 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" <[email protected]> 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 < >> [email protected]>: >> >>> Oxi, você pode fazer isso sem usar expected.... >>> >>> given(<STDIN>) { >>> >>> } >>> >>> 2014-04-17 17:31 GMT-03:00 Frederico Melo <[email protected]>: >>> > 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 >>> > >>> >>> >>> >>> -- >>> >>> -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 >>> >> >> >> >> -- >> 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 >> >> > =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
