foreach $id (sort keys %quantum) { #### foreach $date ( sort ... keys %{$quantum{$applid}}) { } #### sort { $a->{int(substr($quantum{$id},2,2))} <=> $b->{int(substr($quantum{$id},2,2))} || $a->{int(substr($quantum{$id},0,2))} <=> $b->{int(substr($quantum{$id},0,2))} } #### foreach my $id (sort keys %quantum) { foreach my $date ( sort { int(substr($quantum{$id}{$a},2,2)) <=> int(substr($quantum{$id}{$b},2,2)) || int(substr($quantum{$id}{$a},0,2)) <=> int(substr($quantum{$id}{$b},0,2)) } keys %{$quantum{$id}}) { } }