Variables Léxicas y Scratchpads

Las variables léxicas (declaradas con my) no se introducen en las tablas de sımbolos de los paquetes. En estas sólo van las variables globales. Cada bloque y subrutina tienen su propia tabla de sımbolos, que se denominan en la jerga Perl scratchpads. A cada variable léxica se le asigna una ranura en el scratchpad. Por supuesto, como las variables léxicas no van en las tablas de símbolos sino en los scratchpads, no tiene sentido prefijarlas con un identificador de paquete.

Ejercicio 5.2.1   Explique la salida del siguiente programa:
lhp@nereida:~/Lperl/src$ cat -n privacy.pl
 1  #!/usr/bin/perl -w
 2  use strict;
 3  package tutu;
 4  my $a = 10;
 5
 6  package titi;
 7
 8  if (defined($tutu::a)) { print "$tutu::a\n" }
 9  else { print "No esta definida \$tutu::a\n"};
10  print "\$a = $a\n";

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