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

Responder a