Perl:哈希变量的组合

Perl: Composition of a Variable of Hashes

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

# 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}

有关详细信息,请参阅 perldoc perllol and perldoc perldsc