追記


最初 && で逆順やればいけるかなとおもったけど、

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