sort 
sortUSERSUBLISTsortBLOCKLISTsortLIST
This function sorts the LIST and
returns the sorted list value. Undefined values sort before defined null
strings, which sort before everything else. By default, it sorts in
simple numeric codepoint order (or whatever the cmp operator returns in case of overloading). For a true lexicographic
sort, you must use the Unicode::Collate module; see Comparing and Sorting Unicode Text in
Chapter 6. The short story is that the easiest way to
get a good alphabetic sort is like this:
use Unicode::Collate; @alphabetized_list = Unicode::Collate–>new–>sort(@list);
When the locale pragma is in effect, sort LIST sorts
LIST according to the current collation
locale. Even if such a locale exists, Perl does not support multibyte
locales, so this is unlikely to do what you
want. See instead the Unicode::Collate::Locale module if you want reliable locale
sorting.
USERSUB, if given, is the name of a
subroutine that returns an integer less than, equal to, or greater than
0, depending on how the elements of the list are to be ordered. (The
handy <=> and cmp operators can be used to do three-way
numeric and string comparisons.) If a USERSUB
is given but that function is undefined, sort raises an exception.
In the interests of efficiency, the normal calling code for subroutines is bypassed, with the following effects: the subroutine may not be a recursive subroutine ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access