perl高级排序学习,<=>操作符,飞船操作符

高级排序的关键在于你要指定排序的方式,利用的操作符是spaceship operator(<=>):

下面是按照你的要求进行的排序:

@number=qw/5 10 15 3 2 4 8 6 /;
my @descending =sort {$a<=>$b} @number;#这里$a=5,$b=10,因为$a在前,perl得到的结果是小数在前,也就是升序排列
print "@descending\n";
结果如下:

F:\>perl\a.pl
2 3 4 5 6 8 10 15

F:\>

如果要降序排列,我们只要把程序的第二行变成sort{$b<=>$a}就可以了,

程序如下:

@number=qw/5 10 15 3 2 4 8 6 /;
my @descending =sort {$b<=>$a} @number;
print "@descending\n";

结果如下:

F:\>perl\a.pl
15 10 8 6 5 4 3 2

F:\>


你可能感兴趣的:(perl)