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