[Cascavel-pm] Liberar Memoria

Joenio Marques joenio em gmail.com
Sexta Maio 12 14:48:16 PDT 2006


Olá Monges,

Meu programa aqui está com um comportamento indesejado, não chega a
ser um problema ainda, mas quero evitar que se torne.

Existe um XML disponibilizado por terceiros que eu preciso extrair os
dados dele,  sendo XML prefiro utilizar parser ao invés de regex. O
problema é que quem disponibiliza o XML não o está fazendo direito, o
XML não é xml bem-formado de acordo com as recomendações. Então
preciso fazer um pequeno armengue no arquivo xml para enquadra-lo aos
padroes antes do parser.

Então o que eu faço é abrir o arquivo; copiar todo o conteudo para um
escalar; aplicar uma regex para tornalo bem-formado; salvar. A partir
daí eu posso e quero liberar a memoria utilizada nesse processo que me
ocupa uns 50 megas (o xml tem 8 mb). Este processo é feito dentro de
uma função, esperava que ao sair do escopo dela a memoria fosse
liberada, mas não é.

Estou medindo o consumo através do htop, um top mais amigavel. E o
ambiente é linux.

Já tentei fazer undef $content_file - escalar com conteudo do arquivo
- e nao funcionou. Algém tem alguma dica?

Grato,
-- 
Joenio Marques
- Salvador Perl Mongers


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