排序功能在perl中无法正常工作

时间:2016-12-17 13:51:15

标签: perl sorting

我写了一个Perl程序

<asp:ControlParameter ControlID="TxtSearch" Name="Title" PropertyName="Text" Type="String" DefaultValue="%" />

我将输入作为

$number = <>;                       # get the number of numbers
$values = <STDIN>;                  # accept number separated by spaces

@num    = split( " ", $values );    # split the number separated by spaces
@num    = sort @num;

for ( $i = 0; $i < $number; $i++ ) {
    print $num[$i], "\n";
}

我得到的输出是

4
1 7 8 100

这是错误的

1 个答案:

答案 0 :(得分:3)

@num=sort { $a <=> $b } @num;

会产生你想要的东西。请查看相关文档页面:http://perldoc.perl.org/functions/sort.html

它不按您的意愿排序,因为

  

如果省略SUBNAME或BLOCK,则按标准字符串比较顺序排序。

根据文档!