【发布时间】:2015-02-12 14:37:58
【问题描述】:
我正在尝试在 Perl 中创建一个散列,其值是数组。比如:
my @array = split(/;/, '1;2');
my $hash = {'a' => @array};
令人惊讶的是,这个报告(使用 Data::Dumper):
$VAR1 = {
'a' => '1',
'2' => undef
};
This page 给出了一个将数组存储在哈希中的示例,方法是使用方括号定义数组,例如:
my $hash = {'a' => ['1', '2']};
这行得通,但我正在通过调用split 方法获取我的数组。方括号与括号在定义数组时有何魔力,如何将“括号数组”转换为“方括号”数组?
【问题讨论】:
-
括号定义了一个数组。方括号定义一个数组引用。
-
术语 nit:方括号返回数组引用,或者更好的是,方括号评估为数组引用
-
@chilemagic 同意。出于某种原因,当我搜索类似问题时,这并不是热门话题。