my $first = 1;
for my $n (sort { $hash{$a} <=> $hash{$b} } keys %hash){
if ($first) {
$first = 0;
next;
}
...
}
####
my @names_by_val = sort { $hash{$a} <=> $hash{$b} } keys %hash;
shift(@names_by_val);
for my $n (@names_by_val) {
...
}
####
my @names_by_val = sort { $hash{$a} <=> $hash{$b} } keys %hash;
for my $n (@names_by_val[1..$#names]) {
...
}
####
my %hash;
foreach my $n (@names){
my $r = int(rand($range))+$min;
$hash{$n}=$r;
}
my @names_by_val = sort { $hash{$a} <=> $hash{$b} } keys %hash;
####
use List::Util qw( shuffle );
my @shuffled_names = shuffle @names;