【问题标题】:Perl: Composition of a Variable of HashesPerl:散列变量的组合
【发布时间】:2021-10-13 03:07:15
【问题描述】:

我必须解析一个文本文件并将信息放在一起。 我的主要问题是外部文本文件中的这个数据结构:

# Text file 
$basket = [
          {
            'Apple' => 'red',
            'Banana' => 'yellow',
            'Grapes' => 'purple'
          },
];

print "$basket[0]{'Apple'}\n";

显然我收到一条错误消息,因为这既不是数组也不是哈希。我仍然需要将值打印到我的键上。但这仅在使用我自己的代码时有效:

# My input #
my %fruits = (
             'Apple' => 'red',
             'Banana' => 'yellow', 
             'Grapes' => 'purple');

print "$fruits{'Apple'}\n";

有没有人知道在引用文本文件时如何访问值“red”。

【问题讨论】:

  • 您需要先取消引用数组引用:$basket->[0]{Apple}
  • 您忘记考虑阵列 ([])。

标签: file perl variables hash


【解决方案1】:

您所拥有的是数组引用,而不是数组。所以你需要使用一段额外的语法(一个箭头,->)来取消引用它。

$basket->[0]{Apple}

请参阅perldoc perllolperldoc perldsc 了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-03
    • 2017-02-21
    • 2014-05-19
    • 2011-03-13
    • 2014-01-16
    • 2011-03-13
    相关资源
    最近更新 更多