Arrays Perl数组具有值,但无法访问它们

Arrays Perl数组具有值,但无法访问它们,arrays,json,perl,Arrays,Json,Perl,我试过了,我在网上搜索过,现在我已经没有主意了。 我有一个包含元素的数组。 我使用to Dumper函数来确保元素存在,但是,当我尝试访问单个项目时,我没有得到预期的输出 请有人帮忙 这是密码 print "<pre>Array: ".Dumper(@configFiles)."\n"; print "First: ".$configFiles[0]."\n"; print "Second: ".$configFiles[1]."</pre>"; First: 2 如

我试过了,我在网上搜索过,现在我已经没有主意了。 我有一个包含元素的数组。 我使用to Dumper函数来确保元素存在,但是,当我尝试访问单个项目时,我没有得到预期的输出

请有人帮忙

这是密码

print "<pre>Array: ".Dumper(@configFiles)."\n";
print "First: ".$configFiles[0]."\n";
print "Second: ".$configFiles[1]."</pre>";
First: 2
如果您想知道数组元素是如何分配的,我读取了一个json文件,然后用下面的函数将其转换

[
   "searchTables.json",
   "NAM_database.json"
]
请参见下面的json

print "<pre>First: ".@{$configFiles[0]}."</pre>";
我还尝试了如下所示的去引用,但没有成功

返回对数组而不是实际数组的引用。 应该是:

print "ARRAY: @{$configFiles[0]}\n";
my$configFiles=parseJson($jfilename);
打印“数组:”。转储程序($configFiles)。“\n”;
打印“第一个:”$配置文件->[0]。“\n”;
打印“第二个:”$配置文件->[1]。"";

打印“数组:”。转储程序(@configFiles)。“\n”;
打印“第一个:”$配置文件[0][0]。“\n”;
打印“第二个:”$配置文件[0][1]。"";

配置文件
@configFiles
不是您认为/期望的阵列。第一个元素是数组引用,您需要取消引用以访问数组:


我尝试了这个,但没有成功
print“First:”。@{$configFiles[0]}给我下面的代码
First:2
@AndreDixon在标量上下文中,数组返回其大小,而不是其元素。使用串联运算符
将数组置于标量上下文中。如果您只使用插值,则可以:
print“First:@{$configFiles[0]}”
或将连接点更改为逗号-
print“First:”,@{$configFiles[0]}。”
这有效
$configFiles[0]->[0]
还有以下
{$configFiles[0]}[0]
$configFiles[0]->[0]
可以缩短为
$configFiles[0][0]
提示:如果要转储数组或哈希,最好传递引用<代码>转储程序(\@configFiles)
。感谢您的提醒,这可以更好地了解阵列中的内容。
First: 2
my $configFiles = parseJson($jfilename);
print "<pre>Array: " . Dumper($configFiles) . "\n";
print "First: " . $configFiles->[0] . "\n";
print "Second: " . $configFiles->[1] . "</pre>";
print "<pre>Array: " . Dumper(@configFiles) . "\n";
print "First: " . $configFiles[0][0] . "\n";
print "Second: " . $configFiles[0][1] . "</pre>";
print "ARRAY: @{$configFiles[0]}\n";