[Cascavel-pm] Perl Dynamic Subroutines / Functions
Nilson Santos Figueiredo Jr.
acid06 em gmail.com
Sexta Maio 8 22:43:05 PDT 2009
2009/5/8 Guilherme Sperb Machado <gsmachado em gmail.com>:
> Vamos supor que eu tenha um programa perl X rodando em uma determinada
> maquina. Esse programa X é meramente um cliente, que pega informações
> de diversos servidores. Os servidores, por sua vez, são responsáveis
> por informar os programas clientes qual o comportamento que eles devem
> ter, quando, por exemplo, fizerem um webcrawling em determinados
> websites. Porém, justamente o ato de INFORMAR esse comportamento que
> não estou conseguindo achar uma maneira elegante e eficaz para fazer.
> Por isso pensei: existe como o servidor informar/passar SUBROTINAS
> INTEIRAS para os clientes, e os clientes "adaptarem" e usarem esse
> trecho de código em tempo de execução?
>
> Isso é possível de alguma maneira?
Sim.
O seu servidor pode enviar código em Perl (uma string de código) que
os clientes irão executar.
Isso é feito através do comando:
eval $string;
Note que isso pode ter implicações de segurança gravíssimas se for mal
utilizado.
Uma outra maneira mais segura e tradicional seria separar as possíveis
ações em classes diferentes e o servidor informaria ao cliente quando
classe utilizar para processar aquele pedaço de informação e todas as
classes iriam aderir à uma interface comum.
-Nilson
Mais detalhes sobre a lista de discussão Cascavel-pm