Subrutinas

Subrutinas

Los programas en Perl, al igual que en otros lenguajes de programación que se precien, se pueden dividir en varias rutinas de código a las que se pueden invocar desde cualquier parte del programa
Para invocar una rutina en un programa en Perl se pueden utilizar el operador do o &.

do imprimepantalla;         #llamada a una rutina sin parámetros

Los parámetros se le pueden pasar  entre paréntesis () después del nombre. Al entrar en la subrutina, los parámetros van incluiodos en el array especial @_, que se puede copiar a variables locales dentro de la función para trabajar más cómodamente. Además, si la función es recursiva, al entrar por segunda vez en ella, los valores iniciales de @_ se machacarán con los nuevos.
A una función que no usa parámetros, se le pueden pasar (aunque sea inútil), y al invocar una que los use, se pueden omitir.

# programa principal
$nombre="Pedro";
$apellidos=" Perez Pedralva";
&imprime ($nombre, $apellidos);  # Invoca a la función y le pasa los parámetros. También vale:
                                                        #  do imprime ($nombre, $apellidos);

La sintaxis de la rutina sería:

sub nombre_rutina
{
    local ($var1, $var2)=@_; # Recoge los argumentos en $var1
                                              # y en $var2
..........
# Resto del código
..........
}

Las rutinas pueden devolver un resultado con la instrucción return.

#!/usr/bin/perl

sub opera
{
    local ($var1, $var2)=@_;
    $resultado=$var1 + $var2;
    return $resultado;
}

# Programa principal
$uno=10;
$otro=30;
print &opera ($uno, $otro) . "\n"; #imprime 40 y un salto de linea
 
 


AnteriorSiguiente