我一直在努力将变量赋值给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”};确实;我不明白。任何帮助和澄清将不胜感激。提前致谢。
答案 0 :(得分:12)
$key
最终设置为(例如)"a\n"
,而不是"a"
。使用chomp
内置来删除尾随换行符:
$key = <>;
chomp $key;
...
print $hash{$key};