¡Ya estamos en Twitter!

Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad

Usar módulos sin instalar

por Uriel Lizama

Introducción

Muchas veces nos encontramos con que queremos usar un módulo pero el servidor donde tenemos el sitio no lo tiene instalado y es imposible hacerlo, pero se puede dar una vuelta a este problema y es lo que vamos a ver en este tutorial.

Antes que nada hay que recordar que la mayoría de los módulos los podemos encontrar en: http://search.cpan.org/

¿Cómo busca los módulos perl?

Para poder llegar a nuestro objetivo primero debemos de comprender como busca los módulos perl.

Cuando queremos usar un módulo la sintaxis que usamos es:

use Modulo;

Con esta directiva le estamos diciendo a perl que queremos usar un módulo que se llama "Modulo", entonces lo que va a hacer perl es leer varios directorios, estos directorios se encuentran en un array que se llama @INC y son los directorios que tiene perl reconocidos como librerías.

Es decir perl en este array tiene varias direcciones a directorios donde va a buscar los módulos, entonces cuando busca un módulo va directorio por directorio hasta encontrarlo, de lo contrario regresa un error.

Hay veces que nuestra sintaxis al llamar un módulo es:

use Modulo::ModuloChico;

Al hacer esto le estamos diciendo que queremos que busque el "ModuloChico" dentro de un directorio llamado "Modulo" que debe de encontrarse en algun directorio de @INC.

Como ves los dos puntos sería similares a los "/" en windows y en UNIX, así que si tuvieras una llamada a un módulo de esta manera:

use Modulo::ModuloChico::Modulito;

Lo que interpretaría perl sería, busca el módulo "Modulito" en el directorio "ModuloChico" que esta en el directorio "Modulo" que debe de encontrarse en algun directorio de @INC.

Haciendo nuestra librería

Nuestro primer paso es crear un directorio al que vamos a llamar lib en donde vamos a poner el módulo que queremos usar.

Ya que tenemos nuestro directorio hecho junto con los directorios de los módulos que vayamos a usar (aunque no siempre necesitan un directorio aparte: ver seccion anterior).

Ahora antes de hacer la llamada de nuestro módulo vamos a incluir una linea que le va indicar a perl que queremos que meta un nuevo directorio en al array @INC:

use lib('miliberia/lib');

Lo que le estamos diciendo a perl con esta linea es que queremos que busque módulos en el directorio lib que se encuentra en milibreria.

Entonces si ponemos un módulo que se llame "MiModulo.pm" en ese directorio lo podríamos usar sin problema al poner:

use lib('miliberia/lib'); use MiModulo;

Con esto si no encuentra perl en las librerías que vienen con la distribución va a buscar el módulo "MiModulo" en el directorio "milibreria/lib".

Notas Finales

Ya vimos como podemos usar módulos sin la necesidad de instalarlos pero hay algo que tienes que tener muy en cuenta:

Hay módulos que al ser instalador perl los compila, como por ejemplo (CGI,DBI,Image::Magick, etc) por lo que debes de buscar las versiones compiladas de estos módulos.

Otra cosa que siempre deben de tener en cuenta es tener cuidado cuando pongan la ruta a su directorio de módulos, funcionan directorios relativos y absolutos. Mi recomendacion: siempre usar rutas absolutas.

Ojala les fucione el tutorial y disfruten!

¿Quiéres más tutoriales como este? Escribir tutoriales toma una gran cantidad de tiempo y esfuerzo. Si este tutorial te ayudó a aprender o a solucionar algo, por favor considera dejar alguna donación en apoyo a Perl en Español.

Cliquea en el botón de abajo para dejar tu donación por medio de PayPal.

Comparte:
Categorías de Tutoriales:
En Nuestros Foros:

    Software error:

    junk after document element at line 1, column 32, byte 32 at /usr/lib64/perl5/vendor_perl/XML/Parser.pm line 187.
    

    For help, please send mail to the webmaster ([email protected]), giving this error message and the time and date of the error.

  • Entra a los foros »
Socializa:
Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Perl en Español es mantenido con Movable Type
Todo el contenido de Perl en Español está bajo una licencia CC:
Creative Commons License