[SP-pm] usando plugins em perl

Frederico Recsky frederico em gmail.com
Terça Março 25 19:49:59 PDT 2008


Olá

Estou fazendo um pequeno programa que aceita "plugins". Na verdade plugins
são pequenas funções perl adicionadas num modulo. As pessoas que escrevem
esses plugins não são "programadores" perl.

O programa carrega o modulo plugins.pm  e le as funções de si proprio e
coloca disponivel para o usuario escolher (algo como um shell).

Exemplo:

O usuario insere no arquivo uma funçao bar:

sub bar {

    print "meu sonho é fazer um esquema de plugins decente!\n";

}


Eu carrego o codigo do usuario lendo do meu namespace e carrego num dp.


    no strict 'refs';

    my ($nspc) = caller();

    while (my ($name , $loss) = each %{ $nspc . '::'})
    {
        my $sym = $nspc . '::' . $name;
        my $run = *{ $sym }{ 'CODE' };
        $map{$name} = $run;
    }

}

Como eu sei que o Luis vai falar, eu estou ignorando até o momento o fato do
usuario poder adicionar uma função que o corpo seja `rm -Rf $ENV{HOME}` .

Isso me gera alguns efeitos colaterais, quando o usuario lista as funções
aparecem os intrinsecos ::BEGIN, ::ISA ...

Tudo isso porque eu preciso que o usuario adicione suas funções no programa,
sendo que eles tem QI abaixo de 80, então preciso deixar o mais facil
possivel.

Alguem tem algum hot shot no cpan?

[]'s

-- 
____________________________
Frederico Recsky
Linux User: #253572
http://www.fred.eti.br
http://www.perl.org.br
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/saopaulo-pm/attachments/20080325/865a602d/attachment.html 


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