- 01Setting up (what you'll need)
- 02Your first output (print)
- 03Variables (scalar variables, $)
- 04Branching (the if statement)
- 05Repeating (the for loop)
- 06Writing a subroutine (a function)
- 07Repeating (the while loop)
- 08Working with arrays (@)
- 09Working with hashes (%)
- 10Regular expression matching
- 11Substitution with regular expressions (s///)
- 12Working with strings
- 13References
- 14Anonymous subroutines
- 15File input and output, the basics
- 16Modules and use strict / warnings
- 17The ternary operator
- 18Sorting (sort)
- 19Packages and the basics of object orientation
- 20[Project] Build a small inventory system
Sorting (sort)
This lesson covers the sort function, which reorders an array.
By default sort orders values as strings, alphabetically. To sort numbers correctly you specify the comparison, as in sort { $a <=> $b } @array.
The sample code sorts my @nums = (30, 5, 100, 1); into numeric order with sort { $a <=> $b } @nums;.
A common early stumble is writing plain sort @nums and getting string order rather than numeric order. That easily produces surprises such as "100" coming before "30".
In professional work, sorting is an everyday operation — putting aggregated results into ranking order, for example.
๐งช This site can't compile or run Perl directly, so it checks on the spot whether what you typed matches the reference code (scoring happens entirely in your browser โ nothing is sent anywhere).
