RE:Alcance y visibilidad de las variables en Perl
No conzco un manual pero en base es lo siguiente:
Si vos declaras una variable
sub MySub1{
$myvar = 1;
}
sub MySub2{
$myvar = 2;
}
en este caso tiene alcace global
para trabajar en forma local usa my
sub MySub1{
my $myvar = 1;
}
sub MySub2{
$myvar = 2;
}
en este caso en la subrrutina MySub1
myvar solo tiene alcance dentro de la subrrutina
en MySub1 sigue siendo global
para alterar el dato de una variable global dentro de una subrrutina sin alterar el valor global de la variable se usa local
$variable = 1;
print "$variable\n";
sub Subrrutina{
local $variable = 2;
print "$variable\n";
}
print "$variable\n";
la salida:
1
2
1