我想写一下我在hash中填充的键和值对.我正在使用
open(OUTFILE,">>output_file.txt");
{
foreach my $name(keys %HoH) {
my $values = $HoH{$name};
print "$name: $values\n";
}
}
close(OUTFILE);
Run Code Online (Sandbox Code Playgroud)
它以某种方式创建了它,output_file.txt但它没有将数据写入它.可能是什么原因?
我在perl中编写此代码,我在其中创建一个唯一键,然后为其赋值.
sub populate {
my $file = shift;
my %HoH = shift;
open(INFILE,$file);
.
.
.
$final_name = $prepend.$five;
$HoH{$final_name} = $seven;
}
Run Code Online (Sandbox Code Playgroud)
现在我将两个参数传递给一个id为的子程序
&populate(\%abc,$file_1);
&populate(\%xyz,$file_2);
Run Code Online (Sandbox Code Playgroud)
为什么它会给我一个这样的错误:
Reference found where even-sized list expected
Run Code Online (Sandbox Code Playgroud) 我正在编写这个循环,在初始化中我使用变量初始化而不是绝对值.为什么值不会改变?或者在for循环中是不允许的?
enter code here
for($i = $one, $i > $top_level,$i--)
{
print $i,"\n";
print "One is:",$one,"\n";
}
Run Code Online (Sandbox Code Playgroud)
为什么我不能分配$ i = $ 1.变量$ one不断变化,这就是我将$ i声明为$ 1的原因.当我打印变量的各个值时,值是正确的,它只是在for循环中没有赋值.
我想比较两个哈希值,首先查看它们是否在第一个哈希中的键,存在于第二个哈希中,如果是这样比较值并打印成功,如果值不相等,则打印具有不等的键我已经经历了一些类似的问题,但它让我很困惑.希望我可以得到帮助.