> De: Blabos de Blebe <bla...@gmail.com>
>Para: Perl Mongers São Paulo <saopaulo...@mail.pm.org> 
>Enviadas: Sexta-feira, 26 de Julho de 2013 9:10
>Assunto: [SP-pm] Dynamic Unload
>
>Pesquisando um pouco mais eu encontrei os seguinte código:
>
>
>sub unload {
>    my $module = shift;
>    my $filename = to_filename( $module );
>    delete $INC{ $filename };
>}
>
>
>Esse código faz com que a cada passo do loop o módulo 'Foo::Bar' seja 
>carregado, e as alterações no seu fonte sejam visíveis na aplicação, atingindo 
>o meu objetivo.
>
>
>Entretanto, essa solução está me cheirando a gambiarra. Eu estou preocupado 
>com memory leaks e coisas do gênero, pois pretendo utilizar esse "reload" em 
>uma aplicação que teoricamente rodaria indefinidamente.
>
>
>Vocês poderiam apontar outros módulos que lidam com esse problema de forma 
>segura, ou documentação mais específica onde eu possa entender melhor o 
>processo?
>
>
>Mais do que uma solução para o meu cenário, eu estou procurando entender 
>melhor o processo.


Blabos,

Pesquise sobre symbol table manipulation, é exatamente o que você quer fazer. 
Eu lembro que a O'Reilly tinha um artigo interessante como introdução ao 
assunto.

No entanto, a sintaxe é confusa e é fácil errar no meio do caminho. Eu lembro 
que na época tentei fazer algo parecido com o que o Moose faz com Roles e 
métodos (para tornar a implementação deles obrigatórios). Funcionou, mas não 
era muito bonito de se ver.

[]'s

Alceu Rodrigues de Freitas Junior
--------------------------------------
glasswal...@yahoo.com.br
---
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
=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

Responder a