在Perl中排序数组?

dew*_*lla -3 arrays sorting perl

我在尝试对一个简单的数组进行排序时遇到错误......错误读取:"在file.pl行#"中使用未初始化的值(<=>)

#!/usr/bin/perl
use strict
use wardings
use Data::Dumper
my @array
my $array
$array[1]= 5
$array[2]= 2
$array[3]= 3
$array[4]= 4
$array[5]= 1
sub numerically {$a <=> $b}
my @sortedarray = sort numerically @array;

print "@sortedarray\n";
Run Code Online (Sandbox Code Playgroud)

我只是想对数组进行排序以获得:

 1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)

我是perl的新手,所以这可能只是一些愚蠢的事情,但请帮助我......谢谢

Tim*_*Tim 7

数组从0开始编制索引.错误来自尝试在$array[0]未定义时对数组进行排序.

更新:另外,在perl中,有人会写:

#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my @array = qw(1 2 3 4 5);
sub numerically {$a <=> $b}
my @sortedarray = sort numerically @array;

print "@sortedarray\n";
Run Code Online (Sandbox Code Playgroud)

声明是没有意义的$array- 那将是一个标量.您只使用数组@array,即使它使用a调用$.请阅读perl文档.

  • @array任务可能缺少qw,或者可能是一些逗号? (2认同)