#!/usr/bin/perl -w use strict; my (%sortme, $k); %sortme = ( 1 => undef, 2 => 4, 3 => 5, 4 => 3, 5 => 1, 6 => 3 ); foreach $k ( sort { return -1 if !defined $sortme{$a}; return 1 if !defined $sortme{$b}; $sortme{$a} <=> $sortme{$b}; } keys %sortme ) { print "$k -> $sortme{$k}\n"; }