【发布时间】:2014-07-16 20:07:25
【问题描述】:
我有一个字符串数组,我想在循环中使用,然后作为哈希名称稍后调用。我写了一个测试文件来玩它,但无论我多么努力,我都无法让它工作。它一直给我“在使用严格引用时不能使用字符串作为哈希引用”。我可以关闭严格的引用,但是代码只是跳过了这些行并且没有做我想要的。有什么方法可以评估包含字符串的变量,然后通过管道将其传递给哈希的名称?
示例代码:
#usr/bin/perl
use strict;
my %combined = ();
my %highmut = ();
$combined{'a'} = 1;
$combined{'b'} = 2;
$highmut{'c'} = 3;
$highmut{'d'} = 4;
my @counts = ('combined', 'highmut');
foreach my $count (@counts) {
my $file = $count . '.txt';
open(my $random, ">>", $file);
foreach my $key (keys %{$count}) {
print $random "key: $key \t %{$count{$key}} \n";
close($random);
}
}
具体来说,问题在于最后几行中的 %{$count} 和 %{$count{$key}}。
我想要的是评估 $count(例如组合),然后将其提供为用作哈希名称(%combined)。
有什么办法吗?
谢谢
【问题讨论】: