Definición de subrutinas

Las subrutinas se definen mediante la palabra clave sub seguidas del cuerpo entre llaves. Las definiciones de subrutina se pueden poner en cualquier lugar del texto pero son siempre definiciones globales. Para invocar a una subrutina se escribe su nombre, opcionalmente precedido de un &. Como ocurre en C las subrutinas son objetos globales, visibles desde cualquier punto del programa. Sin embargo se permite ubicarlas en el interior de otra subrutina:

hp@nereida:~/Lperl/src$ cat -n nestedsubs.pl
 1  #!/usr/bin/perl -w
 2  use strict;
 3  my $n;
 4
 5  sub marine {
 6
 7    sub submarine {
 8      $n +=1;
 9      print "sub submarine $n!\n";
10    }
11
12    $n +=1;
13    print "sub marine $n!\n";
14  }
15
16  marine;
17  submarine;

Observe como - a diferencia de lo que ocurre en Pascal - la subrutina submarine es accesible desde el programa principal:

nereida:~/perl/src> nestedsubs.pl
sub marine 1!
sub submarine 2!

Casiano Rodríguez León
Licencia de Creative Commons
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19