Localización de las Variables Mágicas

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
4
El constructo given lexicaliza la variable $_.
Casiano Rodríguez León
Licencia de Creative Commons
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19