【发布时间】:2010-06-29 15:39:25
【问题描述】:
我正在尝试使用这样的哈希值 -
#!/usr/bin/perl -w
use strict;
my %hash = ();
sub hash_populate
{
my $name = "PQR,ABD,XYZ";
my @parts = split(/,/,$name);
my $i = $parts[0];
my $a= $parts[1];
my $b = $parts[2];
$hash{$i} = {"A" =>$a,"B" => $b};
my $c = $hash{$i}{"A"};
print $c;
}
我收到表单错误
在使用“strict refs”时,不能使用字符串 ("HASH(0x16c43c)") 作为 HASH ref
当use strict 不存在时,相同的代码可以工作。谁能告诉我为什么?
【问题讨论】:
-
使用 v5.10.1,上面的代码运行没有错误。
-
使用 perl v.5.8.9 它也可以正常运行。
-
它也为我运行(perl v5.10.0)。如果您告诉我们您希望您的代码做什么,我们会更容易提供帮助。
-
perl 5.8.5 没有错误;你运行的是什么版本的 Perl?
-
请避免使用
$a和$b作为变量名,因为 Perl 将它们视为特殊变量。
标签: perl