#!/usr/bin/perl # Only package variables work: has to be in symbol table. { my $dog = 'Fido'; my $animal = 'dog'; print "Doesn't work: $$animal\n\n"; } print "Symbolic Reference:\n\n"; $dog = 'Fido'; $animal = 'dog'; print "$$animal\n"; print "\nSymbolic Reference Assignment 1:\n\n"; $$animal = 'Spot'; print "$dog\n"; print "$$animal\n"; print "\nSymbolic Reference Assignment 2:\n\n"; ${$animal} = 'Spike'; print "$dog\n"; print "${$animal}\n"; print "\nSymbolic Reference to an Array:\n\n"; @dogs = ('Snoopy', 'Spike', 'Fido', 'Spot'); $animal = 'dogs'; print "@{$animal}\n"; @{$animal}[0] = 'Woodstock'; print "@dogs\n"; print "@{$animal}\n"; # Works for hashes and subs too!