Inicio / Wikis / Tutoriales / Introducción al Lenguaje PERL - Subrutinas

Introducción al Lenguaje PERL - Subrutinas

(2 opiniones)
Tutorial creado por Mononeurona. Extraido de: http://www.mononeurona.org/index.php?idp=442
27 de Octubre de 2005
PERL

5 - Subrutinas

Otro aspecto de interés en PERL es la definición y manejo de subrutinas.

El formato de declaración de una subrutina es:

 sub NOMBRE BLOQUE

Ejemplo :

 sub HOLA
 {
   print  "HOLA\n";
 }

La llamada a la subrutina la haríamos usando:


  • do nombre_de_la_subrutina();
  • &nombre_de_la_subrutina;
Las dos formas producen el mismo resultado con la excepción de que en el caso de do hay siempre que poner los paréntesis, si queremos pasar argumentos debemos pasar los argumentos entre estos paréntesis, y estos serán almacenados en el array de escalares @_, es decir para saber el número y el valor de los argumentos pasados a una subrutina hay que leer de este array predefinido.
Un ejemplo podría ser el siguiente:
  sub imprime
  {
    local ($cadena)=@_;
    print $cadena;
  }

  &imprime ("HOLA\n");En el ejemplo anterior se usa la función local(), que sirve para declarar variables locales a la subrutina, por supuesto podríamos haber referenciado directamente el array @_.
El valor retornado por la subrutina es el de la última expresión evaluada, y puede ser tanto un array como un escalar. También podemos devolver explicitamente un valor usando return, como en C.
También resulta interesante la declaración y uso de formatos o reports. Con la definición de un report, estamos alterando el formato de salida de los registros cuando utilizamos la función write.
La sintaxis para la definición de un formato es:
       format NOMBRE =
       FORMLIST
       .Si NOMBRE se omite, entonces STDOUT es tomado como el dispositivo de salida. FORMLIST contiene el formato de la salida de la forma:
SANGRADO_CAMPO1,SANGRADO_CAMPO2,...,SANGRADO_CAMPON variable1, variable2,.........,variablen
El tipo de sangrado se consigue usando los símbolos:
    • < : sangrado a la izquierda.
    • > : sangrado a la derecha.
    • | : texto centrado. Pondremos tantos símbolos como la longitud máxima requerida para representar el valor de la variable asignada a ese campo, además al principio de la definición de los campos de sangrado debe estar el símbolo @.
Un ejemplo de salida formateada podría ser:

format STDOUT_TOP = 
                        SALIDA FORMATEADA DE WHO
.
format STDOUT =
Usuario                      Conectado en               Momento de la conexion

@<<<<<<<<<<<<<<<<<<<<<<<<<@|||||||||||||||||||||||@>>>>>>>>>>>>>>>>>>>>>>>>>
$usuario                  ,$tty                    ,$conectado

.
open(WHO,"who|");  
while ($who = <WHO>)
{
    chop $who;
    ($usuario,$tty,$conectado) = split(/\s+/,$who,3);
    write;
}
close(WHO);
Valora este capítulo: (2 opiniones)
Autor y licencia de 'Introducción al Lenguaje PERL - Subrutinas'
Mononeurona Extraído de: http://www.mononeurona.org/index.php?idp=442

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Este trabajo está licenciado bajo la Creative Commons License. 1999-2005 © :: MonoNeurona.org ::
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Opiniona sobre 'Introducción al Lenguaje PERL - Subrutinas' (2)

Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.

Opina sobre este tutorial



* Valoración:
* Nombre:
* Correo electrónico:
* Título:
* Comentario:

Wikis relacionados con 'Introducción al Lenguaje PERL - Subrutinas'

Como es sabido, el concepto de función metalingüística y su ámbito de aplicación han quedado... Más »
En los años setenta convergen en España una serie de discursos vinculados a conceptos de... Más »
XML es un metalenguaje, es decir, un lenguaje hecho para poder construir otros lenguajes con... Más »
XML es un metalenguaje, es decir, un lenguaje hecho para poder construir otros lenguajes con... Más »
Que la ideología política (quizá sea mejor llamarla ideología a secas [1]) influye en el... Más »
¿Estás seguro de que deseas eliminar este capítulo?