Em 18 de abril de 2014 11:14, Tiago Peczenyj <[email protected]>escreveu:
> What? > *given, when and ~~ * > 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 > > -- 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: [email protected] L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer
