É muito mais fácil começar a aprender Perl com scripts por linha de comando. Mas isso seria chato. Eu pelo menos não tinha muita coisa pra fazer. Então vamos direto a aplicações web.
Os scripts podem ser executados como CGI, assim como PHP ou Python, mas, também como estas duas linguagens, o Perl dispõe de um mod para o Apache que torna a execução muito mais rápida já que o interpretador não precisa ser carregado a cada execução. Outros benefícios ficarão claros mais pra frente, mas por enquanto nada de detalhes.
O Perl certamente já está instalado no seu Linux. Considero ainda que o Apache 2 também esteja e que você está utilizando Debian ou Ubuntu.
Para instalar o pacote do modperl:
Algumas poucas dependências serão instaladas e pronto.
Como parte da instalaçao, foi criado o arquivo /etc/apache2/mods-available/perl.load com o conteúdo:
Aqui no Debian, a instalação já habilitou o módulo fazendo um link simbólico para /etc/apache2/mods-enabled/perl.load. Caso isso não tenha ocorrido, habilite-o com o seguinte comando:
Os arquivos do diretório mods-enabled são interpretados pelo Apache durante a inicialização, que então carregará o módulo instalado.
Agora é necessário configurar quais arquivos o modperl interpretará. Para isso, configure o seguinte:
SetHandler perl-script
PerlHandler ModPerl::Registry
Options +ExecCGI
</Files>
Esta configuração pode ser realizada no escopo global do arquivo de configuração, em algum VirtualHost, Directory ou arquivo .htaccess. Aqui eu preferi manter no VirtualHost padrão no arquivo /etc/apache2/sites-enabled/000default. Dessa forma, todos os scripts com extensão .pl serão executados pelo handler ModPerl::Registry, que um dia talvez a gente descubra como funciona
Para testar, crie este arquivo com extensão .pl e acesse:
use warnings;
my $r = shift;
$r->content_type(“text/html”);
print “Funcionou!”;
O script a gente vê depois
E então? Funcionou? Não? Falei alguma besteira? Tem alguma sugestão?