我想要获取a1的值,但我得到一个错误消息:无法使用未定义的值作为标量引用。
sub new{
_name = [\\@ a1, \\@a2];
}我的代码:
${self->_name}[0]; //get the pointer a1
${${self->_name}[0]} // get the value a1发布于 2021-04-09 15:21:19
在Perl语言中,只在顶层使用符号(@$%&)后跟花括号来取消引用带有"->“操作符的指针。例如:
use strict;
use warnings;
print "Outer Array:\n " . _name() . "\n";
print "First inner Array:\n " . _name()->[0]. "\n";
print "First Value of first inner Array:\n " . _name()->[0]->[0]. "\n";
print "All Values of first inner Array:\n " . join("/", @{_name()->[0]}) . "\n";
sub _name {
my @a1 = (4 , 5 , 6);
my @a2 = (1 , 2 , 3);
return [\@a1, \@a2];
}可能会打印出来:
Outer Array:
ARRAY(0x55f141082ec0)
First inner Array:
ARRAY(0x55f141082e18)
First Value of first inner Array:
4
All Values of first inner Array:
4/5/6https://stackoverflow.com/questions/67014450
复制相似问题