use strict;
my @a;
my @b =();
@a = (3, 4);
push @b, [@a];
my @c = @b[0];
print @c;
如何正確檢索@c?它告訴我標量值@b [0]最好寫成$ b [0]。從數組數組中檢索數組?
(這不是我的隱私的原因真正的代碼,但在實際的代碼我有這樣的事情:
my @a = @{$b[$i]};
print @a;
這是說「未初始化值的使用,」但還是打印什麼它應該。
use strict;
my @a;
my @b =();
@a = (3, 4);
push @b, [@a];
my @c = @b[0];
print @c;
如何正確檢索@c?它告訴我標量值@b [0]最好寫成$ b [0]。從數組數組中檢索數組?
(這不是我的隱私的原因真正的代碼,但在實際的代碼我有這樣的事情:
my @a = @{$b[$i]};
print @a;
這是說「未初始化值的使用,」但還是打印什麼它應該。
如果你有一個數組引用存儲在$b[0]
- 這是你的情況 - 那麼你檢索它作爲
$ref = $b[0] # I just want it as a reference
或
@arr = @{$b[0]} # I want it as a (new) array
或
$elt = $b[0][1] # I want to directly access the second element
$elt = $b[0]->[1] # alternative syntax, same thing.
有關的語法的數組訪問細節參見perldata
@c[0]
是單個元件陣列片(!) $c[0]
是正確
$c[0]->[0]
是「3」,$c[0]->[1]
爲「4」
,詳細瞭解數組的數組看到perldsc和perllol
編輯:沒關係,問題已解決。 – user1126849 2013-04-05 08:51:37