Partes Derechas

Cuando una variable de tipo lista se evalúa en una expresión se produce una copia de la misma. Observe el siguiente ejemplo:

DB<1> @a = 1..5
DB<2> $b = [ @a ]
DB<3> p $b
ARRAY(0x833f9a4)
DB<4> p @$b
12345
DB<5> @$b = 6..10
DB<6> p @a
12345
DB<7> p @$b
678910
En la línea 2 se crea una referencia a una copia del array @a. Si se quiere crear una referencia al array @a o a uno de sus elementos lo que debe ponerse en la parte derecha es la referencia al mismo:
lhp@nereida:~/Lperl/src$ perl -wde 0
main::(-e:1):   0
  DB<1> @a = 1..5
  DB<2> $b = \$a[3]
  DB<3> $$b = 9999
  DB<4> x @a
0  1
1  2
2  3
3  9999
4  5
  DB<5> $c = \@a
  DB<6> $c->[3] = -1
  DB<7> x @a
0  1
1  2
2  3
3  '-1'
4  5

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