Функция sort сортирует элементы списка. Она имеет следующий формат:
@ new _ list = sort (@ List );
или
@new_list = sort(Subroutine @List);
или
@new_list = sort(BlockStatement @List);
Функция sort размещает элементы в списке, упорядочивая их в соответствии с порядковыми номерами символов в таблице ASCII-кодов. Так же как и функция reverse , функция sort возвращает в качестве значения новый список и не воздействует на исходный список. Следующий пример иллюстрирует использование функции sort :
@ list = sort (1,5,2,3,4); # Результат 1,2,3,4,5
@ list = sort (1,2,10); # 1,10,2 сортировка в ASCII
В подпрограмме или блоке можно изменять упорядочение, в соответствии с которым выполняется сортировка. Следующий пример иллюстрирует использование функции sort .
@list = sort({$a <=> $b} (2,1,10)); # @list 1,2,10
@list = sort({$b <=> $a}) (2,1,10); # @list 10,2,1
sub mycomp
{
$b <=> $a
}
@list = sort(mycomp (2,1,10)); # @list 10,2,1