Perl: Creación de un módulo para agrupar funciones
En este artículo se publican dos archivos:
- El primero es para el llamado de las subrutinas.
- El segundo es para la definición de rutinas.
En Perl podemos crear módulos para agrupar las funciones al estilo programación procedimental ó también hacer módulos que respondan al modelo de objetos.
A continuación un ejemplo al estilo procedimental:
------------------------------ CORTAR AQUI ------------------------------
#!/usr/bin/perl
package moduloPrueba;
use strict;
use Exporter;
use warnings;
#Archivo moduloPrueba.pm
###########################################
#ejemplo adaptado de
# Bruno Contreras-Moreira
# http://www.eead.csic.es/compbio
# TEORIA: Modulos, clases y objetos
###########################################
our @ISA = qw(Exporter);
########### LO QUE EXPORTA EL MODULO ###################
#definicion en forma de lista de las cabeceras de
#funciones y variables globales que podran ser
#utilizadas desde los programas
our @EXPORT = qw( subrutina2 $variableGlobal1 $VERSION);
########### VARIABLES GLOBALES ###################
# variables globales del modulo se coloca en forma
# de lista en @EXPORT al inicio del programa
our $variableGlobal1;
our $VERSION=1.0;
#################################################
#definicion de una rutina interna. Esta no se encuentra en la lista
#de elementos a exportar @EXPORT
sub subrutina1_interna
{
my ($parametros) = @_;
# print "Estoy en subrutina1-> $parametros"
#cargo un valor y lo devuelvo para prueba
my $resultados = 1;
return ($resultados)
}
#################################################
sub subrutina2
{
#uso la rutina interna pasandole un parametro
my $datos = subrutina1_interna(2);
print "Estoy en subrrutina2\n";
#asignacion de datos a una variable global al modulo
$variableGlobal1 = $datos;
}
1;
------------------------------ CORTAR AQUI ------------------------------El archivo para utilización del módulo.
------------------------------ CORTAR AQUI ------------------------------
#!/usr/bin/perl # Archivo pruebaModulo.pl ########################################### #ejemplo adaptado de # Bruno Contreras-Moreira # http://www.eead.csic.es/compbio # TEORIA: Modulos, clases y objetos # #Una muestra de agrupacion de funciones en un modulo #Este ejemplo no utiliza el manejo de modulos en forma de clases # ########################################### use 5.006; use strict; use warnings; #llamamos al modulo que creamos use moduloPrueba; subrutina2(); print "$variableGlobal1 \n"; print "$VERSION \n";------------------------------ CORTAR AQUI ------------------------------
Enlace fuente: --> TEORÍA: Módulos, clases y objetos


Comentarios
Publicar un comentario