#!/usr/bin/perl use strict; my %old_hash = ( 'number' => '5', 'cat' => '3', 'dog' => '2' ); my %new_hash = reverse %old_hash; my @sort_arrays = map { $old_hash{$_} } sort { $old_hash{$a} <=> $old_hash{$b} } (keys %old_hash); print "$new_hash{$_} -> $_\n" for (@sort_arrays);