我被這個難住了,顯然缺少一些基本的東西。看來perl排序並不適用於特定的一組值。下面是測試代碼部分:Perl排序不像預期的那樣在數值上工作
use strict;
my $i = 7;
my $j = 8;
my $k = 4;
print "before:$i:$j:$k\n";
my @p = ($i, $j, $k);
($i, $j, $k) = sort(@p);
print "after:$i:$j:$k\n";
print "######################################\n";
my $i = 23;
my $j = 24;
my $k = 7;
print "before:$i:$j:$k\n";
my @p = ($i, $j, $k);
($i, $j, $k) = sort(@p);
print "after:$i:$j:$k\n";
print "######################################\n";
正如你可以看到,它工作時輸入值(7:8:4)。當值是(23:24:7)時似乎不起作用!
before:7:8:4
after:4:7:8
######################################
before:23:24:7
after:23:24:7
######################################
將數組存儲回個別變量看起來有點奇怪,而不是在真實世界的程序中可能會做的事情。你可以直接打印數組:'print':@p \ n「' –