2013-03-02 110 views
0

我有一個表中的陣列的Perl數組,我嘗試使用下面的方法對它進行排序:數組排序

@table_array = sort { $a->[0] <=> $b->[0] } @table_array; 

但我得到這個錯誤:

Can't use string ("5") as an ARRAY ref while "strict refs" in use at 

$table_array[x][0]是一個數值。我通過讀取兩個文件並將它們合併到一個公共字段(準確地說是$table_array[x][1])來創建此表。

我無法理解我詢問要使用字符串引用訪問的元素的位置。

感謝, Karthick S.

+0

參見[分頁](http://perldoc.perl.org/functions/sort.html) – 2013-03-02 17:37:16

回答

3

My $table_array[x][0] is a numeric value.

不,這不是真的。對於其中一個元素,$table_array[x]5而不是參考。

>perl -e"use strict; $a=5; $a->[0]" 
Can't use string ("5") as an ARRAY ref while "strict refs" in use at -e line 1. 

也許你沒有

$table_array[$x] = @rec; 

,而不是

$table_array[$x] = \@rec; 
+0

我做的以下: – 2013-03-02 17:55:21