Hello dilip.renkila, and welcome to the Monastery!
(1) Your third foreach loop has keys %{$update{$j}} where it should have keys %{$update{$i}{$j}}.
(2) If you want the output to be sorted by key, that’s easy: just add sort in each foreach loop:
foreach my $i (sort keys %update) { ... foreach my $j (sort keys %{$update{$i}}) { foreach my $k (sort keys %{$update{$i}{$j}}) { ... } } }
But note that this “sorts in standard string comparison order.” (see sort) To sort numerically, you will need to use:
sort { $a <=> $b } keys ...
where the keys are numeric.
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
In reply to Re: sorting hash of hashes
by Athanasius
in thread sorting hash of hashes
by dilip.renkila
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |