[SP-pm] FILEHANDLE LOGFILE or INFILE

Daniel de Oliveira Mantovani daniel.oliveira.mantovani at gmail.com
Wed Feb 4 09:51:14 PST 2015


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.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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20150204/ef9e5bf3/attachment-0002.html>


More information about the SaoPaulo-pm mailing list