[SP-pm] dbmopen

Luis Motta Campos luismottacampos at yahoo.co.uk
Wed Aug 13 07:15:35 PDT 2008


Henrique Rennó wrote:
> Olá!
> 
> Há muito tempo fiz uma aplicação simples com o DBM pra uma servidora web.
> Hoje houveram mudanças e estou colocando a nova aplicação na nova servidora
> web. Estou tendo problemas com o dbmopen, na servidora antiga o script
> funciona normalmente, posso abrir o banco, pegar os valores pelo hash,
> pesquisar, adicionar etc. Na nova máquina não está funcionando. Dei um print
> na variável $! depois de chamar dbmopen, mas nada é exibido. O que poderia
> ser? Acredito que o DBM é um padrão antigo do perl e a nova máquina está com
> o perl 5.8 instalado. O banco (arquivos .dir e .pag) estão no mesmo local do
> script.

Hum. Sem uma única linha de código, eu não vou conseguir ajudar você nem 
por milagre.

E não existem logs do apache dizendo nada, e o Perl não emite warnings?

Fora isso, o dbmopen está deprecado desde a versão 5.6.1 do Perl. Se 
você instalou uma máquina nova, eu não duvido que instalou um 5.10, e 
isso quer dizer que eles podem finalmente ter cumprido a promessa. :D E 
você vai ter de mudar do dbmopen() para o também velho e quase condenado 
"tie()" (que é o treco que substituiu o dbmopen, muito, muito tempo atrás).

Mais: você copiou o arquivo, mas tem certeza de que ele não está 
danificado? E como é que você implementa acessos concorrentes? Que eu 
saiba, o problema maior em usar DBM é que a biblioteca não implementa 
nenhum tipo de mecanismo de proteção contra race conditions.

Honestamente, eu parei de usar DBM em 1996. Recomendo que você faça o 
mesmo. Antes tarde do que nunca.

Putamplexos.
-- 
Luis Motta Campos is a software engineer,
Perl Programmer, foodie and photographer.


More information about the SaoPaulo-pm mailing list