[Cascavel-pm] Fazer apache ler script perl compilado (.exe)

Nilson Santos acid06 em gmail.com
Quinta Março 3 08:21:22 PST 2005


On Wed, 2 Mar 2005 20:02:31 -0300, João Gabriel <jamorreu em gmail.com> wrote:
> porque não? o código fonte tá totalmente ilegivel cheio de caracteres
> especiais... nada que lembre o perl..

Bom, nem tudo que seja um bando de caracteres especiais é algo compilado. ;)
O que acontece é que esses programas (PAR, PerlApp, Perl2Exe)
compactam e codificam (longe de ser criptografia) o source e colocam
dentro do executável... como se fosse um arquivo self-extracting do
winzip.

Compilar é um processo que envolve converter um código de alguma
linguagem de programação, que é como se fosse uma camada de abstração,
para uma forma nativa de uma determinada arquitetura. Quando você
compila algo em C ou C++ por exemplo, o código é compilado para
instruções que um processador pode entender. Quando você compila Java,
é compilada para instruções que a máquina virtual de Java entende. Em
Perl, a compilação precede a execução, normalmente, não sendo
executada antes disso e é feita para instruções que a máquina virtual
do Perl consegue entender. Portanto, só quando você roda o script (ou
o executável, no caso) que ocorre a compilação propriamente dita.
Usando o módulo B::Bytecode você pode fazer essa compilação
anteriormente e o código em Perl se torna algo parecido com Java,
aonde ocorre precompilação porém não é para a arquitetura nativa e sim
para a VM da linguagem. Existe um conversor de Perl pra C, de onde
você pode compilar algo nativo do seu pc (perlcc, se não me engano)
porém, da última vez que testei, nem um "Hello World" eu consegui
fazer funcionar.

-Nilson Santos F. Jr.


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