
I. SUBRUTINAS
Como cualquier otro lenguaje, PERL permite al programador definir sus propias funciones llamadas subrutinas. Se pueden colocar en cualquier lugar dentro de un programa, pero es aconsejable colocarlas todas al principio o final. Para llamar a un subrutina usamos el signo &.
# Inicio de programa con subrutina.
#
Declaración de la subrutina.
sub saludo
{
print
"Hola Mundo\n";
}
#
Llamada a la subrutina.
&saludo;
PARÁMETROS
A nuestras subrutinas podemos pasar distintos parámetros de modo que todos ellos forman parte de una matriz especial representada como @_ (signos de arroba y subrayado). Si recordarmos las matrices o arreglos veremos que cada uno de los parámetros será una variable dentro de la matriz que se direcciona así $_[0], $_[1],etc...
Ejemplo:
# Inicio del programa
#
Declaración de la subrutina.
sub saludo
{
print
"@_\n";
}
#
Equivale a @_=("Hola","Mundo\n")
#$_[0]="Hola"
y $_[1]="Mundo\n"
#
Llamada a la subrutina con 2 parámetros.
&saludo ("Hola","Mundo\n");
La salida del programa
será: Hola Mundo
Otra variante del programa anterior sería:
# Inicio del programa
#
Declaración de la subrutina.
sub saludo
{
print
"$_[0]
$_[1]";
}
#$_[0]="Hola"
y $_[1]="Mundo\n"
#
Llamada a la subrutina con 2 parámetros.
&saludo ("Hola","Mundo\n");
La salida del programa será también: Hola Mundo
RETORNO DE VALORES
Como cualquier función de cualquier otro lenguaje, PERL también nos permite retornar valores y lo hace tomando como retorno el último valor escalar que se emplee en la subrutina.
Ejemplo: Subrutina de
suma de 2 números
#
Inicio del programa
#
Declaración de la subrutina.
sub Suma
{
$Total=$_[0]
+ $_[1];
#$_[0]=2
y $_[1]=3
}
#
Llamada a la subrutina con 2 parámetros.
print &Suma
(2,3);
La salida del programa será también: 5
ATENCIÓN: si tras la variable $Total tuviesemos otra variable,el valor final retornado sería el valor de esta última variable.
Ejemplo:
# Inicio del programa
#
Declaración de la subrutina.
sub Suma
{
$Total=$_[0]
+ $_[1];
#$_[0]=2
y $_[1]=3
$saludo = "Hola
Mundo\n";
}
#
Llamada a la subrutina con 2 parámetros.
print &Suma
(2,3);
La salida programa sería,:
Hola
Mundo
|
|
|