$ perl -e' my $range = 8_999; my $min = 1_000; my @names = qw( Greg Caroline Joe Dom Mary ); my %hash; for my $n ( @names ) { my $r = $min + int rand $range; $hash{ $n } = $r; } print map( "$_: $hash{$_}\n", @names ), "\n"; for my $i ( 0 .. $#names ) { my @temp = @names; splice @temp, $i, 1; print map( "$_: $hash{$_}\n", @temp ), "\n"; } ' Greg: 7719 Caroline: 8762 Joe: 2774 Dom: 2003 Mary: 8821 Caroline: 8762 Joe: 2774 Dom: 2003 Mary: 8821 Greg: 7719 Joe: 2774 Dom: 2003 Mary: 8821 Greg: 7719 Caroline: 8762 Dom: 2003 Mary: 8821 Greg: 7719 Caroline: 8762 Joe: 2774 Mary: 8821 Greg: 7719 Caroline: 8762 Joe: 2774 Dom: 2003