Re: [Cascavel-pm] edição de arquivos com Perl

Alceu R. de Freitas Jr. glasswalk3r em yahoo.com.br
Quinta Março 24 04:55:29 PST 2005


Olá Marcos,

--- Marco Lima <marco.lima em e-via.com.br> wrote:
> Salve Alceu !
> 
> A questão é a grantia da integridade do arquivo ...
> quanto > + vc tem
> que pensar no SOURCE -> TARGET ... e o processo de
> "RollBack".

Concordo... o "rollback" a que você se refere se
limita a apagar o arquivo alterado e restaurar o nome
do arquivo temporário, certo? Ou você está pensando em
fazer isso com registros?

> Vc poderia ler e gravar ao mesmo tempo ... se o
> arquivo é sequêncial
> isso seria uma sugestão ... com a idéia do TEMP
> podemos pensar em uma
> validação de HEAD e TAIL ... assim poderemos
> garantir de alguma forma a
> integridade ... outra solução seria o sysread() e
> pegar o todal de byte
> para verificar == ... mas é bastante eficiente sendo
> feito os teste
> juntos ... assim garantimos o cabeçalho, rodapé e o
> tamanho do arquivo
> ... lembre que vc têm que levar em consideração a
> alteração realizada.

Eca! Acho que não mexo com arquivos tão grandes assim!
As verificações que vi em header e trailler
normalmente  são apenas contagens dos registros, e
verificar se elas batem.

> Quanto ao "truncate" ... estou imaginando que isso
> seja o flock() ...
> bem ela é uma função do importada do UNIX.

Não não... truncate como truncate para Oracle... você
apaga tudo o que tem no arquivo. A página de
documentação diz que ele pode não funcionar no seu
sistema operacional, só não diz em quais não funciona.
:-)

> A solução do array pode servir para arquivos de
> configuração onde vc
> tenha um "default" e em caso último caso vc recupera
> o "default" ...
> perceba que estamos falando de outro arquivo ... mas
> esse pode ser
> criado por uma processo interno do seu sistema  ...
> lembre que quando
> falamos de arquivos de .conf em sua maioria não
> podem deixar de existir
> ... se não vão corromper a aplicação.

O Tie::File trabalha justamente com um array... não
olhei como o módulo faz isso, mas o autor diz que os
dados do arquivo não são carregados inteiramente em
memória, como estávamos discutindo antes. Para
arquivos de configuração eu realmente apelo para o
@array = <FILE>.

[]'s


Alceu Rodrigues de Freitas Junior
--------------------------------------
glasswalk3r em yahoo.com.br
http://www.imortais.cjb.net
-----------------------------------------------------------------------
A well-used door needs no oil on its hinges.
A swift-flowing stream does not grow stagnant.
Neither sound nor thoughts can travel through a vacuum.
Software rots if not used.
These are great mysteries -- The Tao Of Programming, 5.1


	
	
		
Yahoo! Acesso Grátis - Internet rápida e grátis. 
Instale o discador agora! http://br.acesso.yahoo.com/


Mais detalhes sobre a lista de discussão Cascavel-pm