HTMLpointHTMLpoint HTMLpoint.com


 Variabili locali



Las variables locales se pueden declarar en cualquier momento, y de ese modo una sub puede trabajar en ellas sin interferir en las que son usadas por otras sub.
La manera de hacerlo es ésta:

local($variable, $anothervar, @even_an_array);

Esto crea estas nuevas variables en el momento de la ejecución, salvando los valores precedentes de las variables con el mismo nombres (si existe); a continuación, al final del bloque {} en que se habían incluido, estas variables locales son destruidas, y su valor inicial se restablece. Las variables locales se pueden enicializar también como

local($variable, $anothervar)=(value, anothervalue);

En concreto, para las sub es muy común empezar definiendo las variables locales para darles a los argumentos nombres que les han pasado:

sub addhelp {
A esta sub han pasado 2 argumentos, el nombre de un comando y un texto de ayuda

local ($cmd, $txt) = @_;
$cmd =~ tr/A-Z/a-z/;

En este caso A se convierte en a, B en b, etc., de modo que el comando se hace todo con letras minúsculas

foreach (split(/\n+/, $txt) {
next unless $_;
skippa las líneas vacías

push (@help, $_);
}
}


En este punto las variables $cmd e $txt desaparecen, de manera que si la sub addhelp hubiese tenido también una variable llamada $cmd, su valor original se habría restablecido.


  Torna a inizio pagina