in reply to Re: Save the resultant of " hash sorted by values "
in thread Save the resultant of " hash sorted by values "
Is that what you want? If it isn't, then you simply need to do a Schwartzian Transform
Using the Schwartzian Transform doesn't help at all. It's the generation of a comparable key that made the difference.
sub ip_to_key { sprintf "%03d", split /\./, $_[0] } my @sortedKeys = sort { ip_to_key($ipaddr{$a}) cmp ip_to_key($ipaddr{$b}) } keys %ipaddr;
The ST is an optimisation to get more speed out of it. If you really needed speed, this is much faster:
my @sortedKeys = map substr($_, 4), sort map pack('C4', split(/\./, $ipaddr{$_})) . $_, keys %ipaddr;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Save the resultant of " hash sorted by values "
by wind (Priest) on Mar 23, 2011 at 20:14 UTC | |
by ikegami (Patriarch) on Mar 23, 2011 at 22:27 UTC | |
by wind (Priest) on Mar 23, 2011 at 22:43 UTC |