Jump to content
YOUR-AD-HERE
HOSTING
TOOLS

Locked Tutorial de Introducción a Perl


Expermicid

Recommended Posts

This is the hidden content, please

 

Introducción

 

Qué es y qué herramientas vamos a usar

 

En este tutorial veremos los fundamentos para escribir programas con el lenguaje Perl (Practical Extraction Report Language).

 

Perl es un lenguaje de script (o de guiones), lo que quiere decir que no hace falta un fichero binario para poder ejecutar las instrucciones que hemos codificado usando este lenguaje, es decir, es interpretado, aunque el intérprete de Perl "compila" los programas antes de ejecutarlos. Perl tiene características de muchos lenguajes de programación (buscando lo mejor de cada uno), pero al que más se parece es al C.

 

Con Perl podemos programar casi de todo (hay librerías/módulos para casi cualquier cosa que queramos), pero hay aplicaciones que requieren mucha rapidez en las cuales es mejor utilizar otros lenguajes que no sean interpretados (la ejecución a través del intérprete introduce retardos). Perl es un lenguaje que permite programar de forma muy rápida y es excelente para el tratamiento de cadenas.

 

En sus comienzos fue un lenguaje restringido a sistemas UNIX, pero hoy en día existen versiones del intérprete de Perl para casi todos los sistemas.

 

Para trabajar con Perl sólo nos va a hacer falta:

 

  • Un editor para poder escribir los programas Perl, por ejemplo, el notepad en windows y el xemacs en Linux
  • El intérprete de Perl, que ejecute nuestros programas realizados con Perl.

 

Contenido

 

  1. Introducción a Perl

    1. Introducción
    2. Instalación de Perl
    3. Separación de instrucciones y comentarios

[*]Clases de datos y operadores en Perl

  1. Datos Escalares
  2. Arrays
  3. Arrays Asociativos

[*]Estructuras de control y funciones

  1. Estructuras de control de flujo
  2. Funciones

[*]Perl un poco más a fondo

  1. Entradas y salidas
  2. Expresiones regulares
  3. Funciones split y join
  4. Módulos

[*]Objetos en Perl

  1. Uso de clases y objetos
  2. Como hacer nuestra propia clase

[*]Ayuda

  1. Ayuda de Perl

 

Introducción a Perl

 

1.1.- Introducción

 

Perl fue creado por Larry Wall para simplificar tareas de administración de un sistema Unix, aunque hoy en día se ha convertido en una de las mejores herramientas para creación de scripts o de construcción de sitios Web.

Perl es un lenguaje rápido pese a ser interpretado, multiplataforma y dispone de una gran cantidad de bibliotecas para el desarrollo de casi cualquier tipo de aplicación. Es software libre, no hay que pagarlo.

 

El ejemplo más sencillo de un programa en Perl, sería en Linux:

 

Programa simple en Linux:

 

This is the hidden content, please

 

Si estamos en windows sería:

 

Programa simple en Windows:

 

This is the hidden content, please

 

Ahora, cogemos el anterior programa y lo guardamos en un fichero con extensión .pl que es la extensión de los scripts en Perl. Para ejecutarlo, basta con llamarlo por su nombre (si se tiene los permisos de ejecución adecuados):

 

This is the hidden content, please

 

Como se puede deducir, con la primera línea indicamos donde está el intérprete de Perl, después de #!. Esto no haría falta si, al ejecutar el script, lo hacemos usando el intérprete. Por ejemplo:

 

This is the hidden content, please

 

o

 

This is the hidden content, please

 

También se puede imaginar que con la segunda línea se escribe el mensaje Hola Mundo.

 

1.2.- Instalación de Perl

 

Como es lógico, antes de empezar a ponernos a escribir programas de Perl como locos es necesario instalar o tener instalado el intérprete de Perl. Lo podemos encontrar en las siguientes direcciones:

 

En

This is the hidden content, please
que es un buen sitio de referencia para empezar con Perl.

En el

This is the hidden content, please
que el sitio más completo de recursos de Perl

En

This is the hidden content, please
si lo que usamos es Windows en sus diferentes variantes

 

1.2.1.- Instalación de Perl en Linux

 

Hoy en día todas las distribuciones incluyen casi de serie un intérprete de Perl, es decir, el intérprete de Perl se instala casi por defecto (muy mínima debería ser las instalación para que no se incluyera o quitarlo a propósito). Debido a la característica que antes apuntabámos de su utilidad para realizar tareas de administración del sistema.

 

Para instalar Perl (o instalar una versión actualizada), lo primero que hay que decidir es si instalar una versión compilada (binaria) o compilar nosotros mismos. Ambas cosas (fuentes o binarios) se pueden encontrar en http://www.cpan.org'>http://www.cpan.org'>http://www.cpan.org para multitud de Sistemas Unix ( y otros no Unix).

 

Si te bajas una versión compilada y específica para tu sistema, simplemente ejecutas el binario que te bajes (descomprimiéndolo si estuviera comprimido) o instálandolo con rpm -Uhv perl_compilado.rpm si es un fichero rpm. El único problema que te puedes encontrar es que te haga falta alguna librería, y ahí es donde se complican las cosas, también tendrás que instalarla.

 

Si optas por bajarte el código fuente agrupado en un fichero tar.gz (o .tgz), lo primero que tienes que hacer es descomprimirlo. Con:

 

This is the hidden content, please

 

o si tiene extensión .tar.bz2 con:

 

This is the hidden content, please

 

y si tu sistema es un poco viejo con:

 

This is the hidden content, please

 

Si por casualidad tuviese la extensión .Z. Se tendría que hacer en dos pasos:

 

This is the hidden content, please

 

Una vez descomprimidos el código fuente de Perl, lo aconsejable es leer los ficheros README e INSTALL, por lo que pudiera pasar o por lo que nos pudiera faltar.

 

Una vez llegados a este lo pasos a seguir son los mismos que compilar casi cualquier aplicación en Linux:

 

This is the hidden content, please

 

Con lo anterior, primero, se configura (si puede) para nuestro sistema, segundo, se compila el código del intérprete y, tercero, se instala.

 

1.2.2.- Instalación de Perl en Windows

 

Para instalar Perl en Windows hay también dos opciones, la primera, que es la más aconsejable, es obtener la última versión de Active Perl, que es la versión de Perl para Windows compilada por la compañía

This is the hidden content, please
. Para instalar esta versión, sólo nos hace falta el Microsoft Installer, y una parche de las DCOM para windows 95, si ese es el sistema "operativo" que utilizamos.

 

La otra opción (menos recomendable) que tenemos es bajarnos el código fuente de http://www.cpan.org, descomprimirla (hay versiones del tar, del gzip para windows en el CPAN) y compilarla. Para compilar el código fuente, hace falta el Microsoft Visual C++ o Mingw32 con EGCS o GCC. También nos hará falta una utilidad make. MS Visual C++ viene con nmake, aunque también se puede usar dmake (una versión compilada con Mingw32). Se aconseja leer el fichero README.win32 (sobre todo si usas Mingw32). Una vez que se cumplen todos los requisitos, los pasos son:

 

This is the hidden content, please

 

Hay que tener en cuenta que la versión de Perl para Windows 95 la funcionalidad no es completa en algunos módulos (en el resto de sabores de windows va bien: 98,Me,NT200,XP).

 

1.3.- Separación de instrucciones y comentarios

 

1.3.1.- Separación de intrucciones

 

Como podemos ver en el programa de ejemplo aunque tenga una sóla instrucción, para separar las instrucciones, como en la mayoría de los lenguajes de programación se utiliza el punto y coma ( ; ). Esto que nos puede parecer obvio será la fuente de las mayoría de los errores que tengamos en nuestros programas en perl. Tiempo al tiempo.

 

1.3.2.- Comentarios

 

Los comentarios en Perl sa hacen con el carácter de sostenido (#) y ocupan el resto de la línea a partir de dicho carácter. A diferencia de otros lenguaje no se utilizan comentarios multilínea.

 

Si el comentario aparece en la primera línea (sin espacios) del programa seguido con el signo de admiración(#!), después tendremos que poner el PATH al intérprete de Perl. Como hemos visto en nuestro primer ejemplo para Linux y Windows.

 

Clases de datos y operadores en Perl

 

2.1.- Datos escalares

 

Los datos escalares son las variables simples y pueden contener enteros, reales, cadenas o referencias. Este tipo de variables van precedido siempre por $. Esta es una de las mayores diferencias con lenguajes como el C y es que a cualquier variable escalar se le antepone dicho signo ($). La forma de nombrar las variables también es similar, se puede usar letras números y _ empezando siempre por una letra.

 

En Perl las variables no se tienen porque declarar, aunque se declaran con my. Además la interpretación del tipo de variable se hace en función del contenido, aunque todas la variables numéricas internamente se tratan como reales.

 

Programilla con variables:

 

This is the hidden content, please

 

Como podemos ver en el anterior ejemplo las cadenas se encierran entre comillas dobles (" "), aunque también se pueden cerrar entre comillas simples (' '). Hay caracteres especiales (retorno de carro, tabulador, etc.) que como en muchos otros lenguajes se presentan mediante la barra de escape:

 

  • \n retorno de carro a una nueva línea
  • \b retorno a la posición anterior
  • \a pitido
  • \t tabulación (8 espacios)
  • \\ el caracter \
  • \" las comillas dobles (aunque si la cadena está delimita por comillas simples, no hace falta)
  • \' las comillas simples (aunque si la cadena está delimita por comillas dobles, no hace falta)

 

2.1.1 Operadores de datos escalares

 

El operador de asignación se utiliza, igual que en C, el símbolo =, como se puede obervar en el primer ejemplo de la página. También se pueden mezclar operadores ariméticos junto con la asignación.

 

Asignación y operadores aritméticos:

 

This is the hidden content, please

 

Los operadores de comparación, son similares a los de C, pero depende si estamos comparando cadenas o datos numéricos. Los operadores para números y para cadenas son:

 

[table=width: 500]

[tr]

[td]Comparación[/td]

[td]Números[/td]

[td]Cadenas[/td]

[/tr]

[tr]

[td]igual[/td]

[td]==[/td]

[td]eq[/td]

[/tr]

[tr]

[td]no igual[/td]

[td]!=[/td]

[td]ne[/td]

[/tr]

[tr]

[td]menor que[/td]

[td]<[/td]

[td]lt[/td]

[/tr]

[tr]

[td]mayor que[/td]

[td]>[/td]

[td]gt[/td]

[/tr]

[tr]

[td]menor o igual que[/td]

[td]<=[/td]

[td]le[/td]

[/tr]

[tr]

[td]mayor o igual que[/td]

[td]>=[/td]

[td]ge[/td]

[/tr]

[/table]

 

En Perl también tenemos los operadores de autoincremento (++)y autodecremento (--). Y además tenemos el operador potencia **(que es muy parecido aunque muy diferente)

 

Autoincremento y potencia:

 

This is the hidden content, please

 

Para concatenar cadenas tenemos el operador punto (.) y la función chop para quitar el último caracter a una cadena.

 

Concatenar y chop:

 

This is the hidden content, please

 

2.2.- Arrays

 

Un Array en Perl es como los de C, pero con la diferencia de que van precedidos del símbolo arroba @. (como las variables de $). La forma de acceder a ellos es mediante la indexación, contando desde cero. En Perl no nos tenemos que preocupar de reservar la memoria ni gestionarla de ninguna forma. Hay que tener en cuenta que cuando se accede a un elemento de un array, ya no se está haciendo referencia a un array sino a un dato escalar, por lo que debe ir precedido del símbolo $. Vamos a verlo con un ejemplo:

 

Ejemplo de Arrays:

 

This is the hidden content, please

 

Para sacar/insertar elementos se pueden usar las funciones pop y push. Que sacan o insertan, respectivamente, un elemento al final, es decir, tratan el array como una pila. También podemos utilizar shift y unshift para sacar o insertar, respectivamente, un elemnto del principio del array.

 

Para ver el tamaño (número de elementos) de un array se utiliza el símbolo de sostenido (#) entre el símbolo $ y el nombre del array, es decir, con $#array. Este tamaño nos lo da contando desde 0 o, lo que es lo mismo, realmente nos da el último índice que existe en el array. Si el array no tuviese ningún elemento, su tamaño sería -1.

 

Ejemplo de pop/push, shift/unshift, y tamaño del array:

 

This is the hidden content, please

 

En todo script de Perl existe el array @ARGV que contiene los parámetros de entrada.

 

Para añadir dimensiones a los arrays, simplemente se añaden corchetes. Como en el siguiente ejemplo:

 

Ejemplo arrays con más de una dimensión

 

This is the hidden content, please

 

2.3.- Arrays asociativos

 

Un array asociativo en Perl o tabla hash (como también se le denomina) es un array donde los elementos son referenciados mediante claves en vez de una posición. Para los array asociativos se utiliza el símbolo %. Al igual que sucede con los arrays normales, cuando se accede a un elemento de un array asociativo se debe referenciar como un escalar con el símbolo $. Además la indexación por clave no se hace utilizando los corchetes, sino que se utilizan las llaves ({ }).

 

Ejemplo de utilización de arrays asocitivos:

 

This is the hidden content, please

 

La asociación también se puede hacer con =>, por ejemplo:

 

This is the hidden content, please

 

La función keys devuelve un array con las claves de un array asocitivo. La función values devuelve un array con los valores de un array asocitivo. Con exits($hash{clave}) podemos ver si una clave existe o no. Con delete($hash{clave}) se elimina un elemento de un array asocitivo.

 

Estructuras de control y funciones

 

3.1.- Estructuras de control de flujo

 

Perl mantiene todas las estructuras de control de flujo que pueda tener cualquier otro lenguaje, pero con la peculariedad de que un bloque siempre debe ir entre llaves ({ }), aun cuando el bloque contenga un única sentencia.

 

Un resumen general de las estrucuturas de control de flujo es:

 

  • if (EXPR) BLOQUE
  • if (EXPR) BLOQUE else BLOQUE
  • if (EXPR) BLOQUE elsif (EXPR) BLOQUE else BLOQUE
  • SENTENCIA if (EXPR);
  • unless (EXPR) BLOQUE
  • unless (EXPR) BLOQUE else BLOQUE
  • unless (EXPR) BLOQUE elsif (EXPR) BLOQUE else BLOQUE
  • SENTENCIA unless (EXPR);
  • while (EXPR) BLOQUE
  • SENTENCIA while (EXPR);
  • until (EXPR) BLOQUE
  • SENTENCIA until (EXPR);
  • do BLOQUE while (EXPR);
  • do BLOQUE until (EXPR);
  • for (EXPR;EXPR;EXPR) BLOQUE
  • foreach $var (Array) BLOQUE

 

Donde EXPR es una expresión, BLOQUE es una sentecia o conjunto de estas encerrado entre llaves y SENTENCIA es una sola sentencia

 

Ejemplos de esctructuras de control:

 

This is the hidden content, please

 

3.2.- Funciones

 

En Perl también se pueden definir funciones (o subrutinas para los más puristas), utilizando la siguiente sintaxis: sub NOMBRE BLOQUE. Viendo esto, podemos preguntarnos ¿dónde están los parámetros?. Los parámetros de una función están en el aray @_. ¿Y cómo se devuelven?. Pues con return como en casi todos los lenguajes de programación.

 

Ejemplo de función

 

This is the hidden content, please

 

También podemos devolver más de un parámetro a la vez, pero tenemos que tenerlo en cuenta a la hora de recogerlo.

 

This is the hidden content, please

 

Para pasar un array como parámetro a una función hay que convertirlo antes en una referencia y, posteriormente, en la función desreferenciarlo. Para obtener una referencia se utiliza la barra a la izquierda y para desreferenciarlo el símbolo del array.

 

Ejemplo de array como parámetro

 

This is the hidden content, please

 

Perl un poco más a fondo

 

4.1.- Uso de Clases y Objetos

 

Escribir en la salida estándar (pantalla) ya sabemos hacerlo, ahora nos interesa aprender como leer cosas desde el teclado y como escribir y leer en ficheros.

 

Para leer de teclado se utiliza , que es un manejador de ficheros (Filehandle), que por costumbre se ponen en mayúsculas. (También existe y para la sálida estándar y la sálida de errores respectivamente).

 

Lectura de STDIN:

 

This is the hidden content, please

 

En el anterior ejemplos el script de Perl se espera a que el usuario pulse Return (retorno de carro), es decir, lee una línea. Si en lugar de una variable se hubiese puesto un array, el script hubiese guardado también los retornos de carro hasta que se hubiese pulsado CTRL+D

 

Para escribir en la salida estándar se utiliza print como hemos visto, pero si queremos escribir en la salida de errores sería poniendo después de print el manejador de fichero de donde queremos escribir.

 

Lectura de STDIN, escritura en STDERR y STDOUT:

 

This is the hidden content, please

 

Ya sabemos leer/escribir en un manejador de fichero (vale, que hasta ahora sólo hemos usado pantalla y teclado). Ahora vamos a ver como se haría con ficheros. Para trabajar con un fichero hay que abrirlo, escribir/leer de él y cerrarlo. Para abrir un fichero se utiliza la función open y para cerrarlo con close. El formato para abrir un fichero es open (Manejador_de_fichero, Modo_y_NombreFichero). Lo modos de abrir un fichero se muestran en la siguiente tabla.

 

[table=width: 500]

[tr]

[td]Modo[/td]

[td]Significado[/td]

[/tr]

[tr]

[td]"Nombre"[/td]

[td]Abre Nombre para leer. [/td]

[/tr]

[tr]

[td]"

[td]Abre Nombre para leer. Igual que el anterior [/td]

[/tr]

[tr]

[td]">Nombre"[/td]

[td]Abre Nombre para escribir. Si no existe lo crea [/td]

[/tr]

[tr]

[td]">>Nombre"[/td]

[td]Abre Nombre para añadir al final [/td]

[/tr]

[tr]

[td]"+>Nombre"[/td]

[td]Abre Nombre para lectura/escritura.[/td]

[/tr]

[/table]

 

Veamos un ejemplo, de un script que copia un fichero en otro

 

Ejemplo de ficheros:

 

This is the hidden content, please

 

Si te fijas cuando abrimos los ficheros hemos utilizado algo especial, hemos puesto un O lógico y luego la función die seguido de un cadena; esto lo que hace es finalizar (die=morir) el programa si la parte de la izquierda del O lógico es falsa (no funciona correctamente) y, antes de finalizar, muestra la cadena que le sigue a die.

 

4.2.- Expresiones regulares

 

Las expresiones regulares de Perl es una de los principales factores que hacen de Perl un lenguaje muy potente en el tratamiento de cadenas. Una expresión regular es una forma de expresar gramaticalmente la estructura de cualquier cadena alfanumérica. La expresión regular se encierra entre barras y se aplica con =~ o con !~ para ver si se cumple o no, respectivamente. Por ejemplo, si queremos buscar la cadena "pepe" en una cadena, se haría como sigue:

 

This is the hidden content, please

 

4.3.- Funciones split y join

 

Las funciones split y join se utilizan mucho y se les puede sacar mucho partido, por lo que haremos una mención especial de ellas.

 

4.3.1.- split

 

La función split lo que hace es separar una cadena en los trozos dados por una expresión regular. Para entenderlo, lo mejor, un ejemplo.

 

Ejemplo de split:

 

This is the hidden content, please

 

4.3.2.- join

 

La función join nos permite unir diferentes partes en una sóla, introduciendo un separador entre ellas, es decir, hace lo contrario de split.

 

Ejemplo de uso de join:

 

This is the hidden content, please

 

También nos puede ser util para leer un fichero completo en una variable.

 

Ejemplo de leer un fichero en una variable:

 

This is the hidden content, please

 

si en el anterior ejemplo hubiesemos querido obtener un array con las líneas del fichero, nos hubiese bastado con poner después de join:

 

This is the hidden content, please

 

4.4.- Módulos

 

En Perl, como en la mayoría de los lenguajes de programación tenemos los módulos o librerías o bibliotecas, según se prefiera llamar. Un módulo en Perl es un conjunto de funciones u objetos que se pueden acceder desde nuestro script. Se puede utilizar los módulos utilizando la sentencia use, como, por ejemplo:

 

This is the hidden content, please

 

Para usar módulos en Perl, también se pueden utilizar las sentencias do y require además de use., las diferencias son:

 

  1. do $nombreFichero lee el contenido de $nombreFichero en tiempo de ejecución.
  2. require $nombreFichero funciona de forma similar a do $nombreFichero excepto que comprueba antes si se ha leido el el contenido del módulo $nombreFichero. Si se ha leido, no lo vuelve a leer.
  3. use Modulo funciona de forma similar a require Modulo excepto que lo hace en tiempo de compilación, en lugar de tiempo de ejecución por lo que la ejecución del script es más rápida.

 

No es de extrañar que en algunos casos los módulos librerías son dos palabras separadas por ::; esto es porque los módulos están organizados en una especie de jerarquía, por ejemplo,el módulo LWP::UserAgent es para bajarse páginas de la WWW.

 

Todos (o casi todos) los módulos de Perl se encuentran en el CPAN (http://www.cpan.org) y probablemente allí encontraremos cualquier cosa que nos haga falta.

 

Objetos en Perl

 

5.1.- Uso de Clases y Objetos

 

Hasta ahora no lo hemos visto, pero Perl también soporta la Programación Orientada a Objetos (POO). Empezando por el principio, una clase es una colección de variables y de funciones que acceden a esas variables. Un objeto es una instanciación particular de una clase.

 

En Perl, casi todos los módulos son, en realidad, objetos. Veamos un ejemplo de uso de un objeto.

 

Ejemplo de uso de la clase persona:

 

This is the hidden content, please

 

En el ejemplo anterior, tenemos la clase Persona y para crear un objeto de este tipo de clase ($uno) se utiliza el método new, o sea, se usa el constructor de la clase. Posteriormente se han utilizado tres métodos de la clase (nombre, edad y cumple) que nos muestran/modifican la edad y el nombre de la clase Persona. También tenemos que decir que para crear un objeto de la clase Persona, se ha llamado directamente a dicha clase persona y es, por tanto, un método de clase. Los métodos de clase, también pueden ser llamados con la siguiente sintaxis:

 

This is the hidden content, please

 

En el siguiente ejemplo se utiliza la clase XML::XSLT (un módulo de Perl) para aplicar una hoja XSL a un documento XML

 

Ejemplo de aplicación de una hoja XSL a un documento XML:

 

This is the hidden content, please

 

Si nos damos cuenta la forma de llamar a este constructor es un poco diferente a la vista en el primer ejemplo, eso se debe a que el objeto XSLT está dentro de la jerarquía XML.

 

5.2.- Como hacer nuestra propia clase

 

Lo primero, para construir nuestra propia clase, será darle un nombre. Dicho nombre también será el nombre del fichero (más la extensión .pm -de perl module-) donde tendremos la clase. Después tendremos que empezar la clase con:

 

Encabezado de la clase Persona (fichero Persona.pm)

 

This is the hidden content, please

 

la primera línea, sirve para indicar, que es una clase lo que estamos creando, y la segunda línea nos dice que tenemos que ser estrictos a la hora de programar, es decir, que hay que declarar las variables antes de usarlas, como en casi todos los lenguajes de programación.

 

5.2.1- Constructor

 

Después tenemos que programar el constructor, que podemos llamar como nos apetezca, pero por convención se utiliza el nombre new. En el contructor, primero miramos la clase que es,

 

This is the hidden content, please

 

En el anterior trozo de código para averiguar la clase a la que pertenezco, se mira si es o no una referencia lo que se pasa. Esto es para que el constructor pueda ser llamado como un método de clase (como parámetro tiene el tipo de referencia que recibe) o como un método de objeto (como primer parámetro recibe el objeto).

 

Una vez que sabemos la clase que estamos contruyendo, declaramos las propiedades (variables de instancia) de la clase,

 

This is the hidden content, please

 

En el anterior trozo de código, estamos usando una referencia (de ahí la notación con -> ) a un array asocitivo. De esta forma podremos darle nombres a las propiedades del objeto. También podríamos haber usado una referencia a un array indexado ( con $self=[]; ), pero la forma de acceder a las propiedades sería mediante índices:

 

This is the hidden content, please

 

Una vez averiguada la clase que somos y declaradas las variables de instancia, Perl no tiene que dar el visto bueno a la clase (bendecirla) y al final, del constructor, devolvemos la clase creada.

 

This is the hidden content, please

 

También podríamos haber bendecido sólo el objeto en sí ( bless $self; ), pero si lo hacemos así no sabremos a que clase pertenece y no se podrá heredar de él.

 

De esta forma el contructor nos queda como sigue:

 

This is the hidden content, please

 

5.2.2- Métodos de la clase y destructor

 

También tendremos que construir nuestros métodos para la clase. Para ello sólo tenemos que tener en cuenta que un método de una clase es simplemente una función (o subrutina) que toma como primer parámetro el tipo de clase a la que pertenece el método.

 

Podemos hacer el destructor (no obligatorio), que es un método, análogo a los anteriores, pero con la única diferencia en que se debe llamar DESTROY o END

 

Para terminar ponemos un 1; esto es así para que Perl pueda interpretar la clase de forma independiente y con esto no hace nada, es "sólo" un script que devuelve 1.

 

5.2.3- Clase Persona (ejemplo)

 

Como resultado ya tenemos nuestra propia clase.

 

Clase Persona (fichero Persona.pm)

 

This is the hidden content, please

 

5.2.4- Herencia

 

Para realizar la herencia, tan sólo tenemos que añadir al array @ISA una lista de antecesores (si solo hay uno será herencia simple y si hay más es herencia múltiple). Cuando el intérprete de Perl no encuentre un método en la clase, buscará dicho método en la primera clase de la que hereda, después en la segunda, etc.

 

Clase Trabajador (fichero Trabajador.pm)

 

This is the hidden content, please

 

Si quisieramos utilizar un método de la primera clase padre, bastaría con llamarla. Si en el anterior ejemplos quisieramos que la propiedad SALARIO se inicializase a un valor por defecto, tendríamos que crear un constructor que llamase al constructor de la clase Persona.

 

Clase Trabajador con constructor redefinido

 

This is the hidden content, please

 

Ayuda

 

6.1.- Ayuda de Perl

 

Para ver la ayuda de Perl, hay un comando llamado perldoc. En la versión de Windows de ActiveState también se incluye la ayuda en formato HTML (en el subdirectorio docs) y en http://www.cpan.org también se puede descargar/consultar al ayuda en HTML.

 

La forma de usar perldoc es:

 

Para acceder a un documento:

 

This is the hidden content, please

 

Para ver la documentación de una función

 

This is the hidden content, please

 

-----------------------------------------------------------------------------------------------------------------------------------

 

Saludos a todos.

 

Fuente: flanagan

Edited by Expermicid
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.