#! /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}