** Next:** Regular Expressions
** Up:** Comparisons
** Previous:** String comparison
** Contents**
** Index**

###

Sorting

As well as their use in conditionals, the various
constructions for comparing variables also find
a use in the `sort` function, which is used
to sort a list. The default behaviour is to sort
by string comparison; for example
my @names = qw(Jennifer Wanda Sally);
my @sorted_names = sort @names;
print qq{The sorted array is @sorted_names\n};

will print out
The sorted array is Jennifer Sally Wanda

which is probably what is wanted (ie, sorted alphebatically).
However,
my @numbers;
for my $index (1 .. 10) {
$numbers[$index] = int(rand 2000);
}
my @sorted_list = sort @numbers;
print qq{The sorted array is @sorted_list\n};

might print out (for some run)
The sorted array is 1341 1371 1467 1479 1679 1728 196 1968 678 81

Note that this is in a string-wise, not numerical, order. To
put these into numerical order, we have to tell `sort`
to sort things numerically; this can be done via
my @sorted_list = sort {$a <=> $b} @numbers;

which specifies a routine to use to do the sort. The special
variables `$a` and `$b` are constructed by Perl
from the given list.