Ou o exemplo feio (sem eventos) e blocking que eu mandei para a cascavel para comparar dois logs linha a linha (má ideia, mas era o problema).
https://gist.github.com/leonardoruoso/e21eae8603653dabfd93 Em 5 de fevereiro de 2015 19:21, Leonardo Ruoso <leona...@ruoso.com> escreveu: > > > Em 5 de fevereiro de 2015 19:16, Leonardo Ruoso <leona...@ruoso.com> > escreveu: > >> Em 5 de fevereiro de 2015 19:03, Daniel de Oliveira Mantovani < >> daniel.oliveira.mantov...@gmail.com> escreveu: >> >>> O de graça depois que você sabe o que está fazendo é plausível, do outro >>> lado te faz uma ameba. >>> >> >> http://poe.perl.org/?POE_Cookbook/Tail_Following_Web_Server >> > > http://poe.perl.org/?POE_Cookbook/Watching_Logs > > >> >> >> >>> >>> 2015-02-05 18:57 GMT-02:00 Leonardo Ruoso <leona...@ruoso.com>: >>> >>> Em 4 de fevereiro de 2015 15:51, Daniel de Oliveira Mantovani < >>>> daniel.oliveira.mantov...@gmail.com> escreveu: >>>> >>>>> BTW, você está lendo o arquivo de log do WebSphere Application Server, >>>>> SystemOut.log mesmo que você consiga implementar o "tail" que você está >>>>> tentando implementar, você vai ter problemas pois o WebSphere Application >>>>> Server "rotate" o arquivo, sendo assim o seu programa vai perder o ID do >>>>> descritor de arquivos e vai parar de funcionar. Para resolver o problema, >>>>> além de você implementar o seu "tail", você precisa ficar verificando se o >>>>> ID do SystemOut.log mudou. É fácil de implementar e você vai aprender >>>>> vários conceitos de Unix-like do caminho, estamos aqui para ajudar. >>>>> >>>> >>>> Hmmm, o POE::Wheel::FollowTail e muitos outros módulos fazem isso de >>>> graça :D >>>> >>>> >>>> >>>>> >>>>> 2015-02-04 15:45 GMT-02:00 Daniel de Oliveira Mantovani < >>>>> daniel.oliveira.mantov...@gmail.com>: >>>>> >>>>> Kleber, tem um livro chamado Advanced Programming In the Unix >>>>>> Environment. Eu recomendo você ler o capítulo 3 - File I/O a sua dúvida >>>>>> não >>>>>> tem a ver com Perl e sim com conceitos de O.S. >>>>>> >>>>>> 2015-02-04 15:10 GMT-02:00 Renato Santos <renato.c...@gmail.com>: >>>>>> >>>>>> seu programa já está feito, alguem que criou esses nomes e >>>>>>> filehandles. >>>>>>> >>>>>>> o seek esta mandando ir para a ultima posicao (3 parametro com valor >>>>>>> 2). >>>>>>> o tell esta mandando retornar a posicao atual. >>>>>>> >>>>>>> signfica que o LOGFILE esta na posicao 56666091(bytes/char?) >>>>>>> >>>>>>> 2015-02-04 15:01 GMT-02:00 Kleber Rodrigo de Carvalho < >>>>>>> kleber.carva...@gmail.com>: >>>>>>> >>>>>>> Olá >>>>>>>> >>>>>>>> Disponibilizei meu código aqui: http://pastebin.com/T6AGHm2n >>>>>>>> >>>>>>>> >>>>>>>> Minha duvida é: >>>>>>>> >>>>>>>> seek($filehandler, 0, 2); >>>>>>>> $curreof = tell($filehandler); >>>>>>>> print("curreof=" . $curreof . "\n"); >>>>>>>> >>>>>>>> >>>>>>>> Porque quando eu executo esse trecho de código acima usando LOGFILE, >>>>>>>> eu recebo curreof=56666091 >>>>>>>> O que isso significar? >>>>>>>> >>>>>>>> Obrigado >>>>>>>> >>>>>>>> Abraços >>>>>>>> Kleber Rodrigo de Carvalho >>>>>>>> Engenheiro de Software >>>>>>>> KleberCarvalho.com | (15) 9-9161-3362 >>>>>>>> >>>>>>>> Cara, estou achando que você está lendo um programa já feito, que >>>>>>>> esta >>>>>>>> usando *FILEHANDLE* em si, com esses nomes (LOGFILE, INLINE) >>>>>>>> >>>>>>>> O jeito mais seguro, é usar um FH dentro de uma ref, >>>>>>>> >>>>>>>> # ler em binario >>>>>>>> open(my $fh, '<:raw', '/tmp/foo.bin'); >>>>>>>> while( my $somebytes = <$fh>){ . .. } >>>>>>>> >>>>>>>> # ler em utf8 >>>>>>>> open(my $fh, '<:utf8', '/tmp/tmp.utf8'); >>>>>>>> while( my $line = <$fh>){ . .. } >>>>>>>> >>>>>>>> # escrever em utf8 >>>>>>>> open(my $fh, '>:utf8', '/tmp/tmp.utf8'); >>>>>>>> print $fh "uma linha\n"; >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> 2015-02-04 14:07 GMT-02:00 Gabriel Vieira <gabriel.vieira at >>>>>>>> gmail.com>: >>>>>>>> >>>>>>>> Cara, estou achando que você está lendo um programa já feito, que >>>>>>>> esta >>>>>>>> usando *FILEHANDLE* em si, com esses nomes (LOGFILE, INLINE) >>>>>>>> >>>>>>>> O jeito mais seguro, é usar um FH dentro de uma ref, >>>>>>>> >>>>>>>> # ler em binario >>>>>>>> open(my $fh, '<:raw', '/tmp/foo.bin'); >>>>>>>> while( my $somebytes = <$fh>){ . .. } >>>>>>>> >>>>>>>> # ler em utf8 >>>>>>>> open(my $fh, '<:utf8', '/tmp/tmp.utf8'); >>>>>>>> while( my $line = <$fh>){ . .. } >>>>>>>> >>>>>>>> # escrever em utf8 >>>>>>>> open(my $fh, '>:utf8', '/tmp/tmp.utf8'); >>>>>>>> print $fh "uma linha\n"; >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> 2015-02-04 14:07 GMT-02:00 Gabriel Vieira <gabriel.vieira at >>>>>>>> gmail.com>: >>>>>>>> >>>>>>>> > Qual a diferença de comportamento que você observou? >>>>>>>> > >>>>>>>> > 2015-02-04 11:05 GMT-05:00 Kleber Rodrigo de Carvalho < >>>>>>>> > kleber.carvalho at gmail.com>: >>>>>>>> > >>>>>>>> > Pessoal, >>>>>>>> >> >>>>>>>> >> Estou escrevendo um programa em Perl, e preciso entender as >>>>>>>> >> diferenças entre os FILEHANDLE. >>>>>>>> >> Por exemplo, um programa lendo um arquivo usando LOGFILE se >>>>>>>> comporta >>>>>>>> >> diferente de um usando INFILE. >>>>>>>> >> Estou procurando na internet por: >>>>>>>> >> >>>>>>>> >> perl FILEHANDLE LOGFILE INFILE >>>>>>>> >> perl LOGFILE INFILE >>>>>>>> >> >>>>>>>> >> Mas não encontrei nada. Se encontra todos os tipos de FILEHANDLE >>>>>>>> já >>>>>>>> >> ajudaria. >>>>>>>> >> Será que alguém poderia me ajudar nisso? >>>>>>>> >> >>>>>>>> >> Muito obrigado >>>>>>>> >> >>>>>>>> >> Abraços >>>>>>>> >> Kleber Rodrigo de Carvalho >>>>>>>> >> Engenheiro de Software >>>>>>>> >> KleberCarvalho.com | (15) 9-9161-3362 >>>>>>>> =begin disclaimer >>>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>>>>>> =end disclaimer >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Saravá, >>>>>>> Renato CRON >>>>>>> http://www.renatocron.com/blog/ >>>>>>> @renato_cron <http://twitter.com/#!/renato_cron> >>>>>>> >>>>>>> =begin disclaimer >>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>>>>>> 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 >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> -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: SaoPaulo-pm@pm.org >>>>> 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: SaoPaulo-pm@pm.org >>>> 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: SaoPaulo-pm@pm.org >>> 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 >> > > > > -- > Leonardo Ruoso > Journalist, Perl developer and business consultant > Media, UFC/2006; Telecom, IFCE/1998 > -- 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: SaoPaulo-pm@pm.org L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer