所以,我有包含数组的对象:通过阵列循环
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
循环来通过我的数组?