Em 4 de fevereiro de 2015 17:44, Kleber Rodrigo de Carvalho < kleber.carva...@gmail.com> escreveu:
> Pessoal, > > Muito obrigado pela ajuda. > > Eu estava com 2 dúvidas. > > 1) LOGFILE or INFILE > > Achei LOGFILE or INFILE eram tipos de filehandle para leitura e > escrita de arquivo. Me desculpe, descrobri que são apenas nomes de > várias. > > 2) > > > 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 > > Descobri que esse 56666091 (Gabriel, Renato, Daniel Vinciguerra e > Daniel ) na verdade é o tamanho do arquivo em bytes/caracteres. > Isso na hora em que você para de processar o arquivo é verdade :p > > Muito obrigado a todos pela ajuda. > > Abraços > Kleber Rodrigo de Carvalho > Engenheiro de Software > KleberCarvalho.com | (15) 9-9161-3362 > > > 2015-02-04 15:51 GMT-02:00 Daniel de Oliveira Mantovani > <daniel.oliveira.mantov...@gmail.com>: > > 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. > > > > 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 > >>> > >>> =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 > > > =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