use strict; use warnings; use Data::Dumper; my $key_hash_1 = { 'day' => 1, 'month' => 1, 'year' => 2000, 'hour' => 4, 'minute' => 44}; my $key_hash_2 = { 'day' => 1, 'month' => 1, 'year' => 2000, 'hour' => 4, 'minute' => 45}; my $sales_hash = { $key_hash_1 => {'burgers_sold' => 5, 'fries_sold' => 3, 'sodas_sold' => 11}, $key_hash_2 => {'burgers_sold' => 2, 'fries_sold' => 4, 'sodas_sold' => 7} }; print Dumper($key_hash_1,$key_hash_2); print Dumper($sales_hash); while (my ($key_hash,$sales) = each (%$sales_hash)){ print "$key_hash => $sales\n"; while (my ($sales_item,$total_sold) = each(%$sales)){ print "\t$sales_item => $total_sold\n"; } while (my ($time_item,$time_value) = each(%${$key_hash})){ print "\t$time_item => $time_value\n"; } } #### $VAR1 = { 'hour' => 4, 'minute' => 44, 'month' => 1, 'day' => 1, 'year' => 2000 }; $VAR2 = { 'hour' => 4, 'minute' => 45, 'month' => 1, 'day' => 1, 'year' => 2000 }; $VAR1 = { 'HASH(0x904d00)' => { 'fries_sold' => 4, 'sodas_sold' => 7, 'burgers_sold' => 2 }, 'HASH(0x815d48)' => { 'fries_sold' => 3, 'sodas_sold' => 11, 'burgers_sold' => 5 } }; HASH(0x904d00) => HASH(0x90c238) fries_sold => 4 sodas_sold => 7 burgers_sold => 2 Can't use string ("HASH(0x904d00)") as a SCALAR ref while "strict refs" in use