Referencias y referentes

Perl proporciona un tipo especial de escalar denominado referencia. Para crear una referencia existe el operador unario \ el cual toma una variable o valor y retorna una referencia al mismo. La variable original es conocida como el referente al que la referencia se refiere.
$ra = \$a;  # referencia a escalar
$rb = \@b;  # referencia a arreglo
$rc = \%c;  # referencia a hash
$rf = \&f;  # referencia a subrutina
$rx = \$rb; # referencia a referencia

Una vez que se tiene una referencia, podemos volver al original prefijando la referencia (opcionalmente entre llaves) con el sımbolo apropiado:

${$ra}  # es  el referente de $ra, el valor de $a           
@{$rb}  # es  el referente de $rb, el valor de @a
@{$ra}  # es un error porque $ra apunta a un escalar        
%{$rc}  # es  el referente de $rc, el valor de %c
&{$rf}(2,5)  # llamada a la función referida por $rf

Los elementos de un array o de un hash se referencian como cabrıa esperar:

$$ra[1] # segundo elemento del array @a
$$rc{key1} # elemento del hash %c con clave key1

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