Como posso definir caminho de inclusão do Perl para módulos para um script CGI?

votos
8

Eu tenho vários módulos Perl instalados na minha máquina de hospedagem em ~/perl, como faço para adicioná-los ao Perl caminho de módulo? Definir PERL5LIBou unshifting os caminhos para @INCtrabalha com certeza, mas a variável de ambiente não ajuda quando executado como um script CGI eo @INCcaminho não é muito portátil. Existe uma maneira melhor? Isso tem de ser um problema comum, estou faltando alguma coisa?

Publicado 10/12/2008 em 07:41
fonte usuário
Em outras línguas...                            


2 respostas

votos
9

A maneira mais limpa de fazê-lo imo é:

use lib "/path/" ;  

há outras maneiras interessantes e bons para fazê-lo que podem ser encontrados aqui:

http://www.slideshare.net/pfig/cpan-training-presentation/

Além disso, re: scripts CGI, você pode definir caminhos PERL5LIB para o seu CGI Env, ele só depende do seu serviço de hospedagem.

Alguns Webhosts permitir o controle específico de variáveis ​​env para o CGI Enviroment, e você tem que apenas configurá-los, outros podem ter uma lista de "autorização", que permite que as variáveis ​​visíveis na hora de início aparecem em âmbito local.

Pode ajudar a ler sobre como fazer isso no seu servidor HTTP específico.

Há mais uma opção, se a definição ENV não está ao seu gosto: local :: lib

Que busca alguns caminhos predefinidos automaticamente.

Respondeu 10/12/2008 em 07:57
fonte usuário

votos
6

PERL5LIB funciona muito bem para scripts CGI. Você apenas tem que definir a variável no lugar certo, como a configuração do servidor. Qual servidor você está usando? Para o Apache, eu uso o SetEnv directiva de mod_env.

@INC é portátil. Os caminhos que você colocar lá pode não ser a mesma em todas as máquinas, mas você não deve ter um problema a com a própria variável.

Você já leu as entradas de FAQ em perlfaq8 :

Respondeu 10/12/2008 em 16:05
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more