$$$name - Nested Symbolic References
<< Symbolic (or Soft) References
<< Perl Tutorials - Herong's Tutorial Examples
This section provides a tutorial example on how to use nested symbolic references like $$$name, or $s->()->()->().
As mentioned in the previous section, symbolic references can be nested. Here is a tutorial program to prove that:
#- SoftRef4.pl #- Copyright (c) 1999 by Dr. Herong Yang, http://www.herongyang.com/ # $a = 'b'; $b = 'c'; $c = 'd'; $d = 'f'; $f = 'Hi there!'; print "$$$$$a\n"; print "${${${${$a}}}}\n"; $f = 'a'; print "$$$$$$$$$$$$$a\n"; print "$$$$$${$$$$$$$a}\n"; print 'x'->()->()->()->()->()->()->(), "\n"; sub x {return 'y';} sub y {return 'z';} sub z {return 'x';}
Here is the output of the tutorial program:
Hi there! Hi there! d d y
Do you understand why we are getting those values in the output?
Sections in This Chapter
Using Symbolic References
$$name - Replacing Identifiers by Scalar Variables
${EXPR} - Replacing Identifiers by Expressions
EXPR->* - The Dereference Operator