Las variables especiales como $/
pertenecen al paquete
main::
y pueden ser calificadas con ''local'' pero no pueden ser
calificadas con my.
Esta situación cambió a partir de la versión 5.10 para la variable $_
.
Elsiguiente programa:
~/perltesting/lhp$ cat myit.pl $_ = 4; { my $_ = 5; print "$_\n"; } print "$_\n";Produce la siguiente salida para versiones antiguas de Perl:
~/perltesting/lhp$ perl5.8.9 myit.pl Can't use global $_ in "my" at myit.pl line 3, near "my $_ " Execution of myit.pl aborted due to compilation errors.No se obtienen errores en versiones posteriores a la 5.10:
~/perltesting/lhp$ perl5.10.0 myit.pl 5 4El constructo
given
lexicaliza la variable $_
.
Casiano Rodríguez León