Monks,
I have this bit of code:
use warnings;
use Data::Dumper;
my $counter = 3;
%hash = (
a1_2 => 0.556,
a1_3 => 0.345,
a2_1 => 0.556,
a2_3 => 0.125,
a3_1 => 0.345,
a3_2 => 0.125,
);
print Data::Dumper->Dumpxs([\%hash], [q{*hash}]);
for (1 .. $counter) {
my @holder = ();
my $outer = $_;
for (1 .. $counter) {
my $inner = $_;
if ($outer == $inner) {
next;
} else {
my $tracker = "a$outer\_$inner";
foreach $key (keys %hash) {
my $value = $hash{$key};
if ($key eq $tracker) {
print "$tracker : $key : $value\n";
push @holder, $value;
}
}
}
}
@holder_sorted = sort { $a <=> $b } @holder;
print "@holder_sorted\n";
# this works to sort the values, but
# how do you sort the values while keeping track of the keys?
}
The comment in the code asks the question. But for clarity, I want to sort hash values, while keeping track of the keys. Ultimately I want to be able to determine which has the highest value, and then use the key that matches the highest value in another subroutine (not shown). I am stuck, any help/advice would be great!
thanks!
----
Even a blind squirrel finds a nut sometimes.