[Rio-pm] string --> coderef

Eden Cardim edencardim em gmail.com
Domingo Agosto 24 04:53:01 PDT 2008


2008/8/24 breno <breno em rio.pm.org>:
> Pessoal,
>
> estou com um problema aqui que pode ter uma solução muito simples ou
> completamente impossível (provavelmente muito simples mas estou com
> muito sono para descobrir).
>
> tenho uma variável $a = ' print "oi" '
>
> e quero transformá-la em um coderef. O mais próximo que cheguei foi:
>
> my $ref = sub { eval $a };
>
>
> Desse jeito, posso chamar a coderef qdo quiser. Mas isso não funciona
> para mim pois a função que estou chamando me retorna o conteúdo do
> coderef como uma string (sim, eu passo uma string e quero ela de
> volta, não perguntem - eu juro que não é um problema XY), ou seja, eu
> quero que ele me retorne a string ' print "oi" ' mas desse jeito ele
> me retorna a string 'eval $a'.
>
> Em suma, alguém sabe como transformar uma string-com-código numa
> coderef com esse mesmo código (e não apenas "fazendo a mesma coisa")?
>
> Qq ajuda será muito bem vinda!

Cara, juro que não entendi o teu problema...

$ref->() vai executar o código que está em $a. se você quer a string
de volta, $ref = sub { $a } resolve. Mas parece que você quer algo
mais sofisticado e não estou entendendo o que é.

-- 
edenc.vox.com


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