#!/usr/bin/perl
use strict;
use warnings;
my %hash;
foreach ( 1 .. 10 ) {
$hash{$_} = $_;
}
foreach ( sort(keys %hash) ) {
print $_ . ": " . "$hash{$_}" . "\n" ;
}
Run Code Online (Sandbox Code Playgroud)
当我执行上面的代码时,结果如下:
1: 1 10: 10 2: 2 3: 3 4: 4 5: 5 6: 6 7: 7 8: 8 9: 9
我希望"10:10"成为最后一个印刷品.我只需要有人解释为什么Perl会在这种情况下给我一个惊喜.
Que*_*tin 38
sort始终默认为字符串比较.
如果您想要数字排序,则必须明确.
sort {$a <=> $b} (keys %hash)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7356 次 |
| 最近记录: |