Реализация по умолчанию функции Perl sort
заключается в сортировке значений в виде строк. Чтобы выполнить числовую сортировку:
my @a = sort {$a <=> $b} @b;
На связанной странице показаны другие примеры сортировки без учета регистра, в обратном порядке (по убыванию) и т. Д.
Вы можете создать явные подпрограммы для предотвращения дублирования:
sub byord { $a <=> $b };
...
@a = sort byord @b;
Это функционально эквивалентно первому примеру, использующему анонимную подпрограмму.