[SP-pm] FILEHANDLE LOGFILE or INFILE

Daniel de Oliveira Mantovani daniel.oliveira.mantovani at gmail.com
Thu Feb 5 13:03:49 PST 2015


O de graça depois que você sabe o que está fazendo é plausível, do outro
lado te faz uma ameba.

2015-02-05 18:57 GMT-02:00 Leonardo Ruoso <leonardo at ruoso.com>:

> Em 4 de fevereiro de 2015 15:51, Daniel de Oliveira Mantovani <
> daniel.oliveira.mantovani at 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.mantovani at 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.cron at 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.carvalho at 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 at 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 at 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 at 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20150205/9fb885ce/attachment.html>


More information about the SaoPaulo-pm mailing list