Manual de PERL

Sitio Web para conseguir PERL

CAPITULO 6

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
 


 
 
Página anterior
Inicio de página
Página siguiente