my @data; while ( my ($k, $v) = each %{$href} ) { push @data, dualvar($v, $k) } for my $key ( sort { $b <=> $a } sort @data ) { say "$key\t" . (0 + $key); }