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" <[email protected]> escreveu: > Isso eu sei, só queria entender de onde saiu o " devemos evitar " > Em 18/04/2014 11:25, "Leonardo Ruoso" <[email protected]> escreveu: > >> 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 >> >> > =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
