in reply to Sort Values in Hash, While Tracking Keys.
Just hold the keys, not the values.
push @holder, $key; ... my @holder_sorted = sort { $hash{$a} <=> $hash{$b} } @holder; print("@hash{@holder_sorted}\n");
Update: I see that people are suggesting that hold both the key and the value. It's unnecessary to hold the value since you already have a convenient way of looking up the value by key: $hash{$key}. But if you want to hold both, might as well use a hash!
my %holder; ... $holder{$key} = $value; ... my @holder_sorted = sort { $holder{$a} <=> $holder{$b} } keys @holder; print("@holder{@holder_sorted}\n");
|
|---|