当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Perl sort()用法及代码示例


Perl中的sort()函数用于对使用或不使用排序方法的列表进行排序。用户可以以子例程或块的形式指定此方法。如果未指定子例程或块,则它将遵循默认的排序方法。

用法:
sort List
sort block, List
sort Subroutine, List

返回值:根据用户要求排序列表


示例1:

#!/usr/bin/perl 
  
@array1 = ("a", "d", "h", "e", "b"); 
  
print "Original Array: @array1\n"; 
print ("Sorted Array: ", sort(@array1));
输出:
Original Array: a d h e b
Sorted Array: abdeh


示例2: 使用块排序

#!/usr/bin/perl -w 
use warnings; 
use strict; 
  
# Use of Block to sort  
my @numeric = sort { $a <=> $b } (2, 11, 54, 6, 35, 87); 
  
print "@numeric\n";
输出:
2 6 11 35 54 87

在上面的代码中,使用block进行排序是因为sort()函数使用字符对字符串进行排序,但是在数字上下文中,不能跟随它。因此,块用于简化排序。

示例3: 使用子例程进行排序

#!/usr/bin/perl -w 
use warnings; 
use strict; 
  
# Calling subroutine to sort numerical array 
my @numerical = sort compare_sort (2, 11, 54, 6, 35, 87); 
print "@numerical\n"; 
   
# function to compare two numbers 
sub compare_sort 
{ 
   if($a < $b) 
   { 
      return -1; 
   } 
   elsif($a == $b) 
   { 
      return 0; 
   } 
   else
   { 
      return 1;                        
   } 
}
输出:
2 6 11 35 54 87


相关用法


注:本文由纯净天空筛选整理自Code_Mech大神的英文原创作品 Perl | sort() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。