追記
最初 && で逆順やればいけるかなとおもったけど、
sort { $a->{age} <=> $b->{age} && $a->{no} <=> $b->{no} && $b->{area} <=> $a->{area} } @hoge
最初の条件に同じ数値が並ぶとアウト
my @hoge = ( { age => 12, no => 1, area => 20 }, { age => 12, no => 2, area => 88 }, { age => 12, no => 3, area => 10 }, { age => 12, no => 3, area => 10 }, { age => 12, no => 5, area => 11 }, { age => 12, no => 6, area => 13 }, { age => 12, no => 7, area => 12 }, { age => 12, no => 8, area => 15 }, { age => 12, no => 9, area => 15 }, );
area no age 20 1 12 88 2 12 10 3 12 10 3 12 11 5 12 13 6 12 12 7 12 15 8 12 15 9 12
なので or じゃないとだめでした。orz