如何在Perl中使用变量作为哈希键?

时间:2011-09-12 17:51:05

标签: perl variables hash

我一直在努力将变量赋值给Perl中的键。我要做的是提示用户输入一个值,该值保存在一个变量中,该变量用作访问和打印哈希表中保存的值的键。以下代码有助于说明我的问题:

my $key = 0;
print( "Enter the value for your key\n" );
$key = <>;
my %hash = (
   a => "A",
   b => "B",
);
    print( $hash{$key} );

问题是print($ hash {$ key});什么都没有打印到屏幕上,但printf($ hash {“a”};确实;我不明白。任何帮助和澄清将不胜感激。提前致谢。

1 个答案:

答案 0 :(得分:12)

$key最终设置为(例如)"a\n",而不是"a"。使用chomp内置来删除尾随换行符:

$key = <>;
chomp $key;
...
print $hash{$key};