【问题标题】:Can't use string as an ARRAY ref while "strict refs"“严格引用”时不能使用字符串作为数组引用
【发布时间】:2020-05-22 18:55:04
【问题描述】:

我正在尝试取消引用一个数组,该数组是数组中列表元素的值哈希,以便我可以操作和存储它。

代码示例如下:

use strict;
use warnings;

my @array = qw(one two three four);
my @objects;

$objects[0]{"name"}="somestring";
$objects[0]{"value"}=@array;

print $objects[0]{"name"} . ": " . $objects[0]{"value"}[0];

print "\n";

当我尝试运行时,我得到:

不能使用字符串(“4”)作为数组引用,而“严格引用”在 listarray.pl 第 11 行。

有没有办法做我想做的事(并使用 foreach 迭代内部和外部数组)?

【问题讨论】:

    标签: arrays list perl


    【解决方案1】:

    您应该将数组存储为参考:

    $objects[0]{"value"} = \@array;
    

    在您的代码中,@array 是在标量上下文中评估的,它返回数组中元素的数量 (4)。

    【讨论】:

      猜你喜欢
      • 2020-02-21
      • 2016-12-11
      • 2018-04-08
      • 1970-01-01
      • 2014-07-18
      • 2023-03-31
      • 2017-05-25
      • 2015-06-18
      相关资源
      最近更新 更多