&
. 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