您是否在下面的表达中看到任何错误。
my $container;
while (my $val = $details->next()){
$container->{'total_vals'} += 1;
my $section_name= 'some string from some db query';
$container->{"$section_name"}->{'total_vals'} += 1;
}
print Dumper $section;
以上代码适用于未使用严格no strict
的情况。但第二个键不包含有效值。如果使用严格的子,我得到以下警告。让我知道我错过了什么。
Can't use string ("140360537348481") as a HASH ref while "strict refs" in use at source.pm line 61."
答案 0 :(得分:4)
这意味着您可能在某个时候设置了$container->{"$section_name"} = "140360537348481";
。什么时候应该完成$container->{"$section_name"} = {};
。