[Cascavel-pm] Por falar em modperl...

Ednardo Lobo ednardo em elobo.cjb.net
Sexta Março 28 13:35:33 CST 2003


On Fri, Mar 28, 2003 at 03:06:58PM -0300, Luis Campos de Carvalho wrote:
> ----- Original Message -----
> From: "Ednardo Lobo" <ednardo em elobo.cjb.net>
> Sent: Friday, March 28, 2003 2:37 PM
> 
> 
> >     Eu tive  um estranho probleminha  com o mod_perl, que  ainda não
> > consegui solucionar:
> >
> >             Não sei por que razão,  quando o trecho de código abaixo
> >         é  executado  via  `mod_perl',  no  Apache,  o  resultado  é
> >         diferente do esperado:
> >
> >                 my $linha = <STDIN>;
> >
> >                 print "$linha\n";
> >
> >             Isso  deveria  imprimir  a primeira  linha  apenas,  mas
> >         quando  executado   via  mod_perl,   todas  as   linhas  são
> >         impressas. Alguém já se deparou com isso?
> 
>   Eu nunca tive problemas deste tipo, mas suspeito de uma variável...
>   Tente executar assim:
> 
>   {
>     local $/ = "\n";
>     my $linha = <STDIN>;
>     print "$linha\n";
>   }
> 

    Engraçado,  em  um novo  teste  que  acabo  de fazer,  não  consegui
reproduzir  o   problema.  Desconfio  agora   que  seja  por   causa  do
$RECOORD_FIELD_SEPARATOR. Na ocasião, o arquivo que estava lendo possuia
tanto linhas com '\r\n' quanto com '\n'. Mas só depois de ter contornado
o problema de uma outra forma, é que fui perceber isso.

>   Isso  deve   eliminar  as   minhs  suspeitas...   acho  que   o  seu
> $RECOORD_FIELD_SEPARATOR   está   sobrecarregado  pelo   Mod_Perl.   A
> justificativa para  fazer isso é  que o HTML não  respeita newlines...
> mas é apenas uma suspeita... tente verificar.
>

> >     Além do ganho de desempenho, ainda não consegui explorar nenhuma
> > outra vantagem que o mod_perl  possa oferecer em relação ao mod_cgi.
> > Se alguém utiliza algum recurso  obscuro do mod_perl, gostaria muito
> > de trocar idéias.
>

>   =-] Aqui cabe uma contribuição útil:
> 
>   Eu explorei conexões  permanentes ao banco de dados,  com redução de
> 2/3  do tempo  de execução  em relação  ao mesmo  script com  conexões
> recriadas a cada nova requisição;
>

    Ah sim, também cheguei a  testar o Apache::DBI. Sua aplicação porém,
é  um tanto  restrita,  por exemplo,  para um  servidor  que possua  uma
aplicação que  acesse sempre a  mesma base e  com mesmo 'userid'.  Se as
bases forem diversificadas,  o número de conexões  abertas poderá causar
problemas.

>   E explorei também um hash como  cache de URL's, em um projetinho que
> eu fiz no SourceForge, algum tempo  atrás... o hash era global, e para
> modificá-lo eu setava um "lock" sobre ele. Interessantinho.
>
>   O meu projeto deve estar por  lá ainda, chamava-se MyProxy, um proxy
> HTTP por reescrita, uma coisa muito doida... =-]
>

    Legal isso!!

    Uma curiosidade! Como  você controla a persistência  do hash global,
uma  vez que  isso  dependerá do  tempo de  vida  (timeout) do  processo
(daemon  apache)  que  estiver  servindo  as  requisições  dos  clientes
(navegadores).

>   []'z!
> --
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>   Luis Campos de Carvalho
>   Computer Science Student
>   OCP DBA Oracle & Unix Sys Admin
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

-- 
    Ednardo Lobo - www.elobo.cjb.net

    Por favor, evitem enviar anexos no formato MS-Office, obrigado!
    Veja: http://www.fsf.org/philosophy/no-word-attachments.pt.html



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