Ese error te lo da porque incluyes use strict o una versión de perl que lo contiene (use v5.11, o superiores).
Ademas local lo tienes que usar en un bloque privado y la variable con el mismo nombre no tiene que estar declarada con my. ej:
Esto de dará error:
En teoria todas las variables deberían estar declaradas con my pero bueno, en este caso es así y no se puede de otra manera.
De todas formas perldoc ya aconseja que quizas local no nos de los resultados que esperamos y que es mejor usar variables globales porque son mas rapidas y accesibles.
http://perldoc.perl.org/functions/local.html
Cualquier duda, ¡pregunta!.
Ademas local lo tienes que usar en un bloque privado y la variable con el mismo nombre no tiene que estar declarada con my. ej:
Código (perl) [Seleccionar]
use feature 'say'; # Para imprimir con say (Mucho mejor en mi opinion y te hace el salto de linea solo.)
$numero = 10;
{
local $numero = 2;
say $numero;
}
say $numero;
Esto de dará error:
Código (perl) [Seleccionar]
use feature 'say';
my $numero = 10; # por el my
{
local $numero = 2;
say $numero;
}
say $numero;
En teoria todas las variables deberían estar declaradas con my pero bueno, en este caso es así y no se puede de otra manera.
De todas formas perldoc ya aconseja que quizas local no nos de los resultados que esperamos y que es mejor usar variables globales porque son mas rapidas y accesibles.
http://perldoc.perl.org/functions/local.html
Cualquier duda, ¡pregunta!.