我有一个文件,我已读入一个包含多列的数组,我想按第二列进行数字排序。我查找了无数类似的问题,并试图直接结合给出的答案。
这是我正在使用的基本代码:
use strict;
use warnings;
use diagnostics;
my @arrayed = (
"\ndog", "10", "barks",
"\ncat", "20", "meows",
"\nfish", "5", "plop",
"\nant", "30", "walk",
);
print "@arrayed";
print "\n";
my @sortedarray = sort { $a->[1] <=> $b->[1] } @arrayed;
print "@sortedarray";
exit;
这给了我一个错误,在打开严格时不能使用字符串(“狗”)作为数组引用。我用其他文件、数组尝试了一些其他示例,但总是收到此消息,所以我认为我的代码一定存在本质上的错误。
请任何更有经验的人对我做错了什么有所了解,并允许我在保持行结构的同时按编号列排序。