我被这个难住了,显然缺少一些基本的东西。看来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“' –