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

Eli*_*Eli 1 perl

我有一个我用方法childNodes()定义的对象,它返回一个数组.当我做类似的事情时:

my @arr = obj->childNodes()

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

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

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

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

提前致谢!

Eug*_*ash 10

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

您想要对数组的引用:

$self->{'_arr'} = [ obj->childNodes() ];
Run Code Online (Sandbox Code Playgroud)

perldoc perlref.