Your problem is how you copy the data from $VAR1 to %Status. This code works for me:
$VAR1 = {
'1' => {
'1' => {
'EMail' => 'norbert@thnwb.com',
'Name' => 'Norbert Bodkin'
},
'5' => {
'EMail' => 'sue@thnwb.com',
'Name' => 'Sue Soup'
}
},
'2' => {
'3' => {
'EMail' => 'max@thnwb.com',
'Name' => 'Max Grappler'
}
}
};
my %Status = %$VAR1;
my $status;
for $status (keys %Status) {
for (keys %{ $Status{$status} }) {
print $Status{$status}{$_}{'Name'}, br;
}
}
The error message tells you, that instead of a hashref you have a value. If you post the code that copies $VAR1 to %Status, I would be able to help you further.
Also, hashes don't have order. So, if you want to do a sort on keys, you'll need to create a sorted array with those keys.