Perl Tutorials - Herong's Tutorial Examples - Version 5.32, by Dr. Herong Yang
$$$name - Nested Hard References
This section provides a tutorial example on how to use nested references like $$$name, or $s->()->()->().
As mentioned in the previous section, hard references can be nested with other hard references or symbolic references. Here is a tutorial program to prove that:
#- HardRef4.pl #- Copyright (c) 1999 by Dr. Herong Yang, http://www.herongyang.com/ # $z = "99.99"; $y = \$z; $x = \$y; $a = 'y'; $b = \$a; print "$$$x\n"; print "$$$a\n"; print "$$$$b\n"; print &f()->()->(), "\n"; sub f {return \&g;} sub g {return \&h;} sub h {return 'Hello';}
Here is the output of the tutorial program:
99.99 99.99 99.99 Hello
Do you understand why we are getting those values in the output?
Table of Contents
Data Types: Values and Variables
Expressions, Operations and Simple Statements
Name Spaces and Perl Module Files
►Hard References - Addresses of Memory Objects
$$name - Replacing Identifiers by Scalar Variables
${EXPR} - Replacing Identifiers by Expressions
EXPR->* - The Dereference Operator
►$$$name - Nested Hard References
\$b-\$a - Using Hard References in Other Operations
Objects (or References) and Classes (or Packages)
Typeglob and Importing Identifiers from Other Packages
String Built-in Functions and Performance
File Handles and Data Input/Output
Open Directories and Read File Names
File System Functions and Operations
Converting Perl Script to Executable Binary
Socket Communication Over the Internet
XML::Simple Module - XML Parser and Generator
SOAP::Lite - SOAP Server-Client Communication Module
Perl Programs as IIS Server CGI Scripts
CGI (Common Gateway Interface)
XML-RPC - Remote Procedure Call with XML and HTTP
RPC::XML - Perl Implementation of XML-RPC
Integrating Perl with Apache Web Server
CGI.pm Module for Building Web Pages