【问题标题】:Need help getting perl array out of scalar context需要帮助让 perl 数组脱离标量上下文
【发布时间】:2015-02-12 17:10:26
【问题描述】:

我有一个 perl 数组需要按以下方式存储:

 $self->{spec}->{allImages} = @allImages;

然后我需要稍后检索内容:

 print Dumper($self->{spec}->{allImages});

这会产生:

 $VAR1 = 10;

(数组中的项目数)。

如何跳出标量上下文并以列表的形式返回 $self->{spec}->{allImages}?

【问题讨论】:

标签: arrays perl scalar-context


【解决方案1】:

每个哈希值只能是一个标量。

您必须存储对数组的引用:

$self->{spec}->{allImages} = \@allImages;

http://perldoc.perl.org/perlreftut.html会给你更多教程。

【讨论】:

  • 或副本,[ @allImages ],这有时是您想要的。引用是数组的替代品,因此如果您通过 ref 更改它,则真正的数组以及它的所有引用对象也会发生变化。
【解决方案2】:

您需要更改分配:

$self->{spec}->{allImages} = \@allImages;

这将创建一个您可以使用的数组引用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 2021-01-12
    • 2021-11-08
    • 2011-05-31
    • 1970-01-01
    • 2017-09-22
    相关资源
    最近更新 更多