En las entradas anteriores todos los ejemplos de variables tenían la sintaxis:
my $var = "value";
Pero el
myes opcional, también se podría usar así:
$var = "value";
Sin embargo, el uso sin
mycreará variables globales a todo el programa, lo que es una mala práctica. La directiva
mycrea variables locales limitadas al bloque donde las definimos (delimitado entre llaves).
my $x = "lluvia"; my $condition = 1; if ($condition) { my $y = "nieve"; print $x; # imprime "lluvia" print $y; # imprime "nieve" } print $x; # imprime "lluvia" print $y; # no imprime nada
Usar
myen combinación con
use strict;al inicio del script, hace que el intérprete capture algunos errores comunes. En este ejemplo, la última línea podría dar errores en tiempo de ejecución.
Imagen | Heidi Blanton en Flickr
La entrada [Perl] Alcance de las variables aparece primero en borrajas.es.