在perl中,sort提供了一条简单的方法命令一系列的数值。比如:Sort可以被用做以字母为关键字的哈希函数或者通过价钱的数组来排列项目。
Sort最低限度的接受被分类的列表。它通过使用默认的字符比较操作符来给列表分类。如果你想你希望表格按照其他的方式来分类,你可以通过代码或者在列表之前的子程序名字。Sort将调用这个代码同时比较这个列表中的两个元素。
比如,在数字上分类一个数组,使用下面的命令:
@array = sort {$a <=> $b} @array;
为了倒序分配,你可以使用倒序函数或者倒序比较顺序。下面的两行是等价的:
reverse sort @array;
sort {$b cmp $a} @array;
一个普通的分类方法是当打印的时候给哈希关键字排序。比如,如果雇员信息包含
电话号码,你可以打印一个电话本,这个电话本由名字和号码分类:
print "Sorted by name
";
for (sort keys %employee)
{
printf "%-32.32s $employee
",
$_ . ' ' . '.' x 32;
}
print "
Sorted by number
";
for (sort cmp $employee} keys %employee)
{
printf "%-32.32s $employee
",
$_ . ' ' . '.' x 32;
}
Sort快速简单的按顺序获得你的列表,并且它提供了灵活性来分类,可以按照你需要的方式按任何方式分类。