in reply to Sorting an array of hashes with an exception
#!/usr/bin/perl use warnings; use strict; my @ar = ( { ID => 3, Distance => 2.3, RouteDistance => 4.3 }, { ID => 2, Distance => 1.5, RouteDistance => 2.8 }, { ID => 5, Distance => 2.1, RouteDistance => 0 }, { ID => 1, Distance => 1.7, RouteDistance => 2.5 }, ); print $_->{ID}, "\n" for sort { ( $a->{RouteDistance} || $a->{Distance} ) <=> ( $b->{RouteDistance} || $b->{Distance} ) } @ar;
Upate : Fixed precedence.
|
|---|