【发布时间】:2011-11-22 20:46:19
【问题描述】:
抱歉这个语法问题。我找不到解决方案。 我想在 perl 中有一个哈希数组,它们每个都有字符串和数组。 我正在尝试编写以下代码:
use strict;
my @arr = (
{ name => "aaa" , values => ("a1","a2") },
{ name => "bbb" , values => ("b1","b2","b3") }
);
foreach $a (@arr) {
my @cur_values = @{$a->{values}};
print("values of $a->{name} = @cur_values\n");
};
但这对我不起作用。我收到编译错误和警告(使用 perl -w)
a.pl 第 2 行匿名哈希中的奇数个元素。 在 a.pl 第 9 行使用“strict refs”时,不能使用字符串 ("a1") 作为 ARRAY ref。
【问题讨论】:
-
perldoc.perl.org/perldsc.html 是这类事情的一个很好的参考。
-
尽量避免使用
$a(和$b)作为变量名——这些是为sort保留的特殊情况... -
在开发 Perl 代码时应始终启用警告。它会指出哪里有问题......