所以,我有包含數組的對象:通過陣列循環
package MyObject;
sub new {
my($type) = @_;
my $self->{Params}{Status}{Packages} = [];
}
我有一個添加該附加新的包的子到這樣的「程序包」陣列:
sub add_package {
my($self, $package_obj) = @_;
push $self->{Params}{Status}{Packages}, $package;
}
現在,當我去找我陣列中的所有包時,我遇到了問題。每當我嘗試並拉出這樣的包裝:
foreach my $package($self->{Params}{Status}{Packages}) {
# do something with $package.
}
這隻能循環一次。現在,從我瞭解的哈希實際存儲的指針數組所以我嘗試做的事:
foreach my $package(@$self->{Params}{Status}{Packages}) {
# do something with $package.
}
但後來有一個錯誤,指出$自我不是一個數組。我也注意到,當我做:
scalar $self->{Params}{Status}{Packages};
它返回:
@ARRAY(0xSome Address);
我缺少什麼?我怎樣才能使用foreach
循環來通過我的數組?