[Cascavel-pm] GtkPerl
Ednardo Lobo
ednardo em elobo.cjb.net
Domingo Janeiro 5 12:44:41 CST 2003
On Sat, Jan 04, 2003 at 12:59:02PM -0300, Alceu R. de Freitas Jr. wrote:
> Ainda so um tanto novato quanto a programação Web com Perl, mas só
> para aproveitar o gancho, o que é possível se criar usando modPerl?
>
> Eu li um pouco a respeito, mas nada prático além de alterar o
> comportamento do Apache. Como nunca vi necessidade em fazer isso, fico
> sem referências.
Bem, vamos ver se consigo explicar ...
Em primeiro lugar, o `mod_perl' é basicamente o interpretador 'perl'
embutido ao apache. Isso faz com que a execução de um `script Perl' seja
feita de forma bem mais eficientemente (rápida) do que da maneira
convencional (via `mod_cgi'). Onde o Apache precisa fazer um `fork',
conectar-se ao novo processo por meio de um `pipe' e iniciar a execução
do interpretador `perl' dentro desse novo processo. Mas há muito mais
otimizações além dessa.
Por exemplo, um `script perl' chamado mais de uma vez numa mesma
conexão será interpretado uma única vez, diferente do ocorre no modo
convencional, onde para cada chamada, um novo `fork' e `pipe' será
realizado. Além de economizar recursos do servidor 'scripts Perl'
rodando em `mod_perl' serão processado bem mais rápidamente, algo em
torno de 400% a 2000%, em relação ao modo convencional. É algo
extremamente considerável!
Além do desempenho, que por si só justifica a sua utilização em
detrimento ao modo convencional, o `mod_perl' cria um novo paradigma
para a programação de aplicações WEB, o que efetivamente interessa para
nós programadores Perl.
Eu explorei muito pouco, ainda, esse novo horizonte e portanto,
tanto quanto você, não sei efetivamente o que ele tem a oferecer. Mas
pelo que já li, pode-se por exemplo, condificar uma aplicação web da
mesma maneira que se faz no PHP, embutindo o código no próprio HTML.
Apesar de não apreciar esse estilo de programação, ele é bastante
prático e é o que torna o PHP e ASP tão popular. Um forma mais prática,
principalmente para manutenção, é através do uso de 'templates', veja
HTML::Template. Mas não é só isso, existe muito mais, é preciso apenas
explorar.
Por tornar íntima a aplicação Perl ao servidor Apache, o `mod_perl'
permite uma maior interação da aplicação com o servidor, ao contrário do
`mod_cgi', onde a única forma de interação, é atraves de vaviáveis
ambientes (%ENV). Para constatar isso, basta dar uma olhada em
'man Apache'.
Em 'man mod_perl' e 'man cgi_to_mod_perl' há informações
interessantes sobre o funcionamento do `mod_perl', porém não muito
elucidativas.
Boa sorte a quem se interessar por ele!
Precisando trocar idéias, estou a disposição! :-)
> --- Ednardo Lobo <ednardo em elobo.cjb.net> escreveu: >
>> Com o `mod_perl' do Apache, nesses dias já bastante amadurecido,
>> surge uma lacuna para o desenvolvimento de uma infinidade de
>> aplicação voltadas para o ambiente WEB, realmente poderosas e
>> profissinais. Tanto, que gostaria muito de ver o `mod_perl' sendo
>> bem mais explorado do que é ultimamente, quando é difícil encontrar
>> servidores WEB Apache com esse recurso habilitado.
>>
>> Taí um tópico que poderíamos explorar no Cascavel:
>>
>> - Aplicações WEB perl suportadas para `mod_perl' do Apache.
>>
>> O interessante do `mod_perl', é que qualquer aplicação que rode
>> nele, praticamente irá rodar também como uma aplicação CGI através
>> do `mod_cgi', é claro, não terá o mesmo desempenho. O inverso,
>> entretanto, nem sempre é verdadeiro, mas via de regra, se rodar com
>> 'use strict', irá rodar em `mod_perl'.
>>
>> O que acham da sugestão?
--
Ednardo Lobo - www.elobo.cjb.net
Mais detalhes sobre a lista de discussão Cascavel-pm