[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