[Cascavel-pm] perl + apache

Nelson Ferraz nferraz em gmail.com
Quarta Agosto 22 09:28:22 PDT 2007


Em Aug 22, 2007, às 5:02 PM, Karen Taga escreveu:

> Tenho duas versões de um projeto em um servidor, proj1 e proj2. Há  
> pacotes com o mesmo nome  em ambos. Quando acesso pelo browser o  
> proj2, os pacotes do proj1 são "chamados"... alguém tem alguma  
> idéia do que seja?

Se você estiver falando de duas versões de um mesmo pacote, e se os  
pacotes da versão 1 puderem ser substituidos pelos pacotes da versão  
2, talvez você possa simplesmente atualizar a versão instalada:

	cd Foo # diretorio de desenvolvimento do pacote

	perl Makefile.PL
	make
	make test
	make install

Mas se este for apenas um conflito de nomes entre dois módulos  
completamente diferentes, talvez você deva repensar o seu namespace.  
Que tal alguma coisa como:

	package Project1::Foo;
	package Project2::Foo;
	package Project3::Foo;

Esta é a melhor solução a médio e longo prazo.

Contudo, se você quiser uma solução imediata, pode especificar o  
diretório onde os pacotes corretos estão instalados:

	use lib '/usr/lib/project1';
	use Foo;

E no outro projeto:

	use lib '/usr/lib/project2';
	use Foo;

Observe, porém, que este é um remendo -- você realmente deveria rever  
seu namespace.

[]s

Nelson


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