Sí, hay que copiarles a un directorio en concreto. Si quieres saber qué directorio sólo tiene que ser uno de los indicados por la variables especial
@INC:
Using bash Syntax Highlighting
perl -e 'print "@INC"'Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
Lo recomendado es usar un directorio que sea independiente de los módulos CORE. Es alguno de los directorios con la palabra 'site' dentro de ellos.
Fíjate que entre los directorios indicados por
@INC, está el directorio actual: '.'. Eso quiere decir que siempre puedes dejar el módulo en el mismo directorio en que se encuentra el programa que lo va a utilizar. Aunque es una solución un poco fea.
Si quieres dejarlo en otro sitio, o si quieres dejarlo en un lugar compartido (en una unidad o disco compartido por red), entonces debes modificar la variable de entorno global PERL5LIB. Eso lo debes hacer, si estás en Windows, en el apartado de variables de entorno. Si estás un Unix o Linux, en los scripts de arranque del sistema, globales, si quieres que afecte a todos los usuarios, o en los locales, para ti solo. Actualizas el valor de la variables con un
export PERL5LIB=/directorio/de/los/modulos/perl y listo.
Un ejemplo. Nosotros tenemos definido PERL5LIB con directorios compartidos en los que dejamos los módulos que todo el mundo necesitará, propios de toda la empresa o de cada proyecto. Y localmente, solo los módulos que cada uno necesita para sus propios experimentos o pruebas. Con el gestor de instalación de paquetes PPM es fácil indicar dónde queremos que instale el módulo, si en un sitio u otro. Con la variable PERL5LIB cambiada, en el programa sólo tenemos que poner el
use Modulo; y ya está.