У меня есть этот фрагмент скрипта:
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my @arr = (
{
name => 'foo',
value => 123,
},
{
name => 'bar',
value => 'nan',
},
{
name => 'foobar',
value => 456,
},
);
@arr = sort {$a->{value} <=> $b->{value} } @arr;
print Dumper(\@arr);
У меня нет проблем под Windows XP / Strawberry Perl 5.10.1
либо Linux 2.6.12-1 i386 /Perl v5.8.5, созданный для i386-linux-thread-multi,
, но под Linux 2.6.18-53 / Perl v5.8.8, созданный для x86_64-linux-thread-multi, я получил сообщение об ошибке:
Sort subroutine didn't return a numeric value at testsort.pl line 21.
Что не так и как я могу это исправить?