quinta-feira, 11 de outubro de 2012

Perl - Incluir diretorios ao @INC

O perl utiliza o array de ambiente @INC, que contém os diversos diretórios, para procurar os pacotes perl instalados.

Para acrescentar diretório(s) a este array (que na verdade é inacessível) podem ser utilizados 3 métodos:

1) Utilização da variável de ambiente PERL5LIB

Esta variável de ambiente assemelha-se a variável PATH e pode conter uma lista de diretórios.
O perl ao iniciar a execução de um programa acrescenta ao array @INC  o contéudo desta variável.

Sintraxe:
Linux/Unix/MacOsX
export PERL5LIB=/path/to/1:/path/to/2

Windows
set PERL5LIB=<unidade>:\path\to\1;<unidade>:\path\to\2


2) Comando use lib

Incluir no início do script/programa perl o comando use lib fará com que o perl acrescente ao array @INC este caminho.

Sintaxe:

use lib '/home/foobar/code';
use My::Module;

Observe que o use lib deve ser usado antes do use dos pacotes/módulos.

3) Executar o script com a opção -I

Ao executar o script usando o comando perl, passar o parâmetro -I (i maiúsculo) com o caminho desejado. O diretório será então adicionado ao array @INC apenas para a execução deste script.

Sintaxe:
perl -I /path/to/module script.pl