Es legal tomar una referencia a un ''typeglob''. Por ejemplo:
DB<1> $a = 4; @a = 1..5
DB<2> $b = \*a
DB<3> x $b
0 GLOB(0x8450df8)
-> *main::a
DB<4> x ${*$b}
0 4
DB<5> x @{*$b}
0 1
1 2
2 3
3 4
4 5
Veamos otro ejemplo:
lhp@nereida:~/Lperl/src$ perl -wde 0
main::(-e:1): 0
DB<1> %variable = (v => "ven", a => "a", r=> "rumania")
DB<2> sub variable { print "esto es una variable" }
DB<3> $typeglob_ref = \*variable
Ahora typeglob_ref contiene una referencia a la entrada en la
tabla de sımbolos para variable. Podemos acceder a los
elementos individuales a través de la referencia:
DB<4> x %{*$typeglob_ref}
0 'r'
1 'rumania'
2 'a'
3 'a'
4 'v'
5 'ven'
DB<5> x &{*$typeglob_ref}()
0 1
DB<6> x *$typeglob_ref->()
0 1
DB<7> x *$typeglob_ref->{r}
0 'rumania'
"esto es una variable"
en las líneas 5,6 y 7? ¿Por que la respuesta es "1"?Casiano Rodríguez León
