in reply to Re: Sorting and ranking
in thread Sorting and ranking
This made more sense to me once I had a look at the array contents. The rank array stores the key names at the index locations corresponding to the values.
use strict; use warnings; use Data::Dumper; my %data = ( 'car' => 10, 'motorcycle' => 7, 'skate' => 7, 'board' => 2, 'roller' => 4, 'vase' => 4, 'bird' => 4, ); my ($n, @rank) = 1; foreach( keys %data){ $rank[ $data{$_} ] .= "$_\n" ; } print Dumper(\@rank); defined and $n += print s/^/$n - /gmr for reverse @rank; __DATA__ $VAR1 = [ undef, undef, 'board ', undef, 'vase bird roller ', undef, undef, 'motorcycle skate ', undef, undef, 'car ' ]; 1 - car 2 - motorcycle 2 - skate 3 - vase 3 - bird 3 - roller 4 - board
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Sorting and ranking
by tybalt89 (Monsignor) on Jan 22, 2018 at 21:05 UTC |