An exposition of ikegami's reply (beginners in mind):
- my @sorted = sort { $a <=> $b } @numbers;
Calls sort on @numbers, storing returned list in @sorted. Passes sort a code block to use as a comparison function (used to determine whether to swap two elements). $a and $b can be used within the code block to reference the elements being compared. To reverse the sort order, reverse $a and $b in the code block:
sort { $b <=> $a } @numbers
- my $min = $sorted[0];
sort { $a <=> $b } will sort the numbers in ascending order, so the first element of the resultant array is the minimum.
- my $max = $sorted[-1];
An index of -1 refers to the last element, which is of course the maximum.