[Cascavel-pm] Perl Dynamic Subroutines / Functions

Thomas Britis thomas em tcnet.com.br
Quarta Maio 13 10:54:09 PDT 2009


Pelo que entendi, ele quer o seguinte:

1- Cliente sobe somente com as funções de socket() (ou que quer que seja 
q se comunique com o servidor).
2- Servidor diz para o cliente quais as funções que ele deve conhecer 
(sem que o cliente tenha idéia do que se tratava, ou seja, não são 
funções pré-estabelecidas).
3- Cliente executa diretivas utilizando a função recebida do servidor.

Algo como:
Cliente1: Estou UP e simplesmente isso.
Server: Ei cliente1, conheça a função: sub foo { return q(bar); }
Cliente1: Recebi uma requisição solicitando que eu execute a função foo().

	E essa comunicação de funções seriam dinâmicas.

Nilson Santos Figueiredo Jr. wrote:
> 2009/5/12 Guilherme Sperb Machado <gsmachado em gmail.com>:
> 
>>Porém, seguinte, é impossível em perl definir ua função e atribuir a
>>uma variável (like, $a = sub bbb{ print "abc\n"; }; ) e enviar essa
>>variável para um OUTRO código remotamente, para que o outro programa
>>USE a função definida na variável $a ?!
>>
>>Eu não testei isso com eval, porque eu nunca usei o eval
>>explicitamente pra isso, mas creio que não funcione, porque o que tu
>>vai passar pro eval é uma string.... e o $a, no caso do meu exemplo,
>>eh uma referencia pra uma estrutura... ou algo do genero.
> 
> 
> Pra ser sincero, eu não entendi exatamente o que você quis dizer.
> Assim como você pode serializar funções, logicamente você também pode
> serializar dados.
> 
> E o eval() é realizado dentro do contexto léxico corrente então é
> possível referenciar variáveis externas (apesar de, em geral, isso ser
> uma má prática).
> 
> Mas realmente sem entender o que você quer fazer não dá pra ajudar
> mais... até agora você não disse o que quer fazer, está descrevendo
> *como* quer fazer isso.
> 
> -Nilson Santos F. Jr.
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
> 
> 

-- 
Thomas Storino Britis
TCNet Informatica e Telecomunicacoes LTDA


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