@dates = sort { join('', (split '/', $a)[2,1,0]) cmp join('', (split '/', $b)[2,1,0]) } @dates;
или с использованием отдельной подпрограммы сортировки:
sub mysort {
join('', (split '/', $a)[2,1,0]) cmp join('', (split '/', $b)[2,1,0]);
}
@dates = sort mysort @dates;
Обновление: более эффективный подход - преобразование Шварца:
@dates =
map $_->[0],
sort { $a->[1] cmp $b->[1] }
map [ $_, join('', (split '/', $_)[2,1,0]) ], @dates;