如何强制Perl中的对象属性设置为完整数组而不仅仅是其长度?

时间:2011-03-10 15:28:06

标签: perl

我有一个用方法childNodes()定义的对象,它返回一个数组。当我这样做时:

my @arr = obj->childNodes()

我可以清楚地看到它可以正确返回数组。

我的问题是,当我尝试使用此方法设置另一个类对象的属性时,Perl决定我只想要childNodes()的长度而不是完整的数组。这根本不是我想要的,并且毁掉了一切。我正在使用的代码是:

$self->{'_arr'} = obj->childNodes()

如何将此设置$ self-> {'_ arr'}设置为数组而不仅仅是标量数?

提前致谢!

1 个答案:

答案 0 :(得分:10)

在标量上下文中计算数组时,它返回数组的长度。

您需要对数组的引用:

$self->{'_arr'} = [ obj->childNodes() ];

请参阅perldoc perlref