我尝试使用可变键值来构建哈希,并且键与值相同,然后我尝试检索特定键的特定值。这是代码和我&#39我正是得到了我想要的东西。 我的问题是,当我试图将代码的代码保存在子程序中并从那里调用它时,我得到了空!有人可以说明为什么?
这是工作代码;
my @ary = qw(apple mango orrange grape);
my %dir;
foreach my $list (@ary) {
$dir{$list} = "$list";
}
my $file = $dir{mango};
print("$file\n");
根据预期结果:芒果:
以下代码无效: (在主要文章中)
my %dir;
foreach my $list ( @show ) {
$dir{$list} = "$list";
# print $dir{$list} . "\n";
}
while ( my ($key,$value ) = each %dir ) {
print("$key -> $value\n");
}
### I'm genuinley getting the key values as expected#####
my $file1 = $dir{apple};
my $file2 = $dir{mango };
print("Required files is : $file1" . "\n" . $file2 ."\n");
什么都没得到!!!
答案 0 :(得分:0)
我认为这是你的代码:
my @show = qw(apple mango orrange grape);
my %dir;
foreach my $list ( @show ) {
$dir{$list} = "$list";
# print $dir{$list} . "\n";
}
my $file1 = $dir{apple};
my $file2 = $dir{mango};
print("Required files is : $file1" . "\n" . $file2 ."\n");
您应该打印出一个值。你唯一没有得到任何东西的是你的@show数组是用其他东西初始化的(没有芒果,没有苹果)。