#!/usr/bin/perl -w use strict; $|++; my @names_marks = ( 'cliff 76', 'john 52', 'keith 90', 'rob 52' ); my %hash = map { split } @names_marks; my @sorted_names = sort { $hash{$b} <=> $hash{$a} } keys %hash; print $hash{$_},' ',$_,$/ for @sorted_names;