Referencias a constantes

Se pueden crear referencias a constantes:

$rc = \10;
$rs = \"hello";

Cuando se trata de referencias a constantes el valor referenciado no se puede modificar. Véase la siguiente sesión el depurador:

main::(-e:1):   0
DB<1> $ra = \10
DB<2> p $$ra
10
DB<3> p $ra
SCALAR(0xc0b840)
DB<4> x $ra
0  SCALAR(0xc0b840)
   -> 10
DB<5> $$ra = 20
Modification of a read-only value attempted at (eval 18)[/usr/share/perl/5.8/perl5db.pl:628] line 2.
DB<6> use Scalar::Util qw{readonly}
DB<7> x readonly($$ra)
0  8388608
DB<8> x readonly($ra)
0  0
DB<9> @b = 5..10
DB<10> $rb = \@b
DB<11> print "rb = $rb; rb-> = @{$rb}"
rb = ARRAY(0xc5dfc0); rb-> = 5 6 7 8 9 10
Observe la forma en la que se imprime una referencia.

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