I'm passing around a bunch of hash references to various subroutines and things are
getting kind of ugly. I don't know if I need to use symbolic references of
eval something or if there's any better way to do this. Please consider the
following code:
#! /usr/bin/perl -w
$db{x} = 'file';
$db{y} = 'name_of_hash';
$db{z} = 'key';
$hashref = \%db;
print $hashref->{y};
# Is there a better way to create a new hash with the same
# name as the value found in $hashref->{y} (which in this
# case is 'name_of_hash'). I'm trying to automatically
# create %name_of_hash.
# This assigment seems to work but I'd hate to debug it six
# months from now.
${$hashref->{y}}{$hashref->{z}} = 'value';
# But I can't print it
print "${$hashref->{y}}{$hashref->{z}}\n";
# I have to do this.
print "$name_of_hash{$hashref->{z}}\n";
# All this for this!
print $name_of_hash{key}