0

複数の列を持つ配列に読み取ったファイルがあり、2 番目の列で数値的に並べ替えたいと考えています。私は数え切れないほどの同様の質問を調べ、与えられた回答を直接取り入れようとしました.

ここに私が使用している基本的なコードがあります:

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;

これにより、厳密がオンになっている間、文字列(「犬」)を配列参照として使用できないというエラーが表示されます。他のファイル、配列を使用して他のいくつかの例を試しましたが、常にこのメッセージが表示されるため、コードに本質的に何か問題があるに違いないと思います。

経験豊富な人が私が間違っていることに少し光を当てて、行構造を維持しながら番号付きの列でソートできるようにしてください。

4

2 に答える 2