¿Que es un Stash?

Perl permite acceder a la tabla de símbolos de un package Toto mediane un hash denominado %Toto::. Por ejemplo las variables del package main estan accesibles a través del hash %main:: o también %::.

Una estructura de este tipo recibe el nombre de stash (por Symbol Table Hash, la palabra stash tiene en inglés un significado similar a cache).

De este modo, es sencillo mostrar los identificadores usados en un paquete:

foreach $id (keys %Toto::) {
  print $id,"\n";
}

Cada uno de las claves es una entrada de la tabla de símbolos. Los correspondientes valores son typeglobs, los cuales apuntan a los diferentes tipos: escalar, array, etc.

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