Perl Tutorials - Herong's Tutorial Examples
Dr. Herong Yang, Version 5.00

$$$name - Nested Symbolic References

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

$$$name - Nested Symbolic References

Dr. Herong Yang, updated in 2008
$$$name - Nested Symbolic References