omo meu script Perl pode encontrar seu módulo no mesmo diretóri
ecentemente, escrevi um novo script Perl para eliminar processos com base no nome do processo / nome do usuário e estendi-o usando Classes para que eu pudesse reutilizar o código do processo em outros programas. Meu layout atual é -
/home/mutew/src/prod/pskill <-- Perl script
/home/mutew/src/prod/Process.pm <-- Package to handle process descriptions
Adicionei ~ / src / prod na minha variável $ PATH para acessar o script de qualquer lugar. Em execução, o script de qualquer diretório que não seja o diretório residente leva a "Não é possível localizar o Process.pm no @INC" (que é compreensível, pois, além dos diretórios compartilhados em / usr, o @INC inclui apenas o diretório atual - '.'). Uma solução alternativa que tenho usado é a diretiva use lib da seguinte forma -
use lib '/home/mutew/src/prod';
mas esta é uma questão importante de portabilidade. Alguma solução que também me permita exportar o script para outros sistemas sem e sem alterações?
EDITA
Escolhi a resposta 'depesz' como a correta, devido à sua simplicidade e uso do módulo principa resposta de @brian d foy, embora sugira outros métodos para realizar o mesmo (TMTOWTDI), sua contribuição no perlfaq8 torna essa pergunta absolutamente redundant