my %hash = ('1' => 12, '2' => 34, '3' => 56, '4' => 2); @values = reverse ((sort {$a <=> $b} values %hash)[0..--$num]);