@HASHES = ( \%Data_Directories_fetch, \%DataDirectories_erase, \%Program_fetch, \%Program_erase, \%Configuration_and_Table_Files_erase, \%Configuration_and_Table_Files_fetch, \%Create_Database, \%Load_Database ); #### sub loadDefaultsToDBM { my $cntr = 0; foreach $element (@HASHES) { print "$cntr --$element "; switch($cntr++) { case 0 { print "Data_Directories_fetch\n"; $TESS_CONFG{"Data_Directories_fetch"} = $element; } case 1 { print "Data_Directories_erase\n"; $TESS_CONFG{"Data_Directories_fetch"} = $element; } case 2 { print "Program_fetch\n"; $TESS_CONFG{"Program_fetch"} = $element; } case 3 { print "Program_erase\n"; $TESS_CONFG{"Program_erase"} = $element; } case 4 { print "Configuration_and_Table_Files_erase\n"; $TESS_CONFG{"Configuration_and_Table_Files_erase"} = $element; } case 5 { print "Configuration_and_Table_Files_fetch\n"; $TESS_CONFG{"Configuration_and_Table_Files_fetch"} = $element; } case 6 { print "Create_Database\n"; $TESS_CONFG{"Create_Datebase"} = $element; } case 7 { print "Load_Database\n"; $TESS_CONFG{"Load_Datebase"} = $element; } } } ### Test it! my $hash_ptr = \%Program_fetch; print "$hash_ptr\n"; while ( ($key, $value) = each %{$hash_ptr} ) { print "$key => $value\n"; } my $hash_ref = $TESS_CONFG{"Program_fetch"}; print "Result: $hash_ref\n"; my @keys = keys %$hash_ptr; while ( ($key, $value) = each %{$hash_ref} ) { print "$key => $value\n"; } }