my %h; while () { chomp; my ($v, $k) = split; $h{$k} = $v; } print "$h{$_} $_\n" for sort { $h{$a} <=> $h{$b} || $a cmp $b } keys %h; __DATA__ 1 Flu 1 Cold 2 Diabetics 4 Impatience 3 Laziness 2 Hubris 3 Typhoid 4 Measle 1 Procrastination