在IF条件下无法正常工作的Perl哈希数据检查

时间:2015-01-30 05:05:32

标签: perl if-statement hash

我是perl的新手,我正在处理使用哈希的perl代码。 我想知道为什么我不能在IF条件下使用哈希数据。 例如,

$post_val{'module'}的值为extension

print "Module value: $post_val{'module'}\n";

if (chomp($post_val{'module'}) eq "extension") {
    print "correct...\n";
} else {
    print "wrong...\n";
}

我得到以下输出,

  

模块值:扩展名

     

...误

这里出了什么问题?

2 个答案:

答案 0 :(得分:3)

chomp返回已删除的字符数,而不是chomp ed字符串。

chomp($post_val{module})
if ($post_val{module} eq 'extension') {
  ...

答案 1 :(得分:3)

chomp返回已删除的字符数,在本例中为1

chomp $post_val{'module'};
if ($post_val{'module'} eq "extension") {
    print "correct...\n";
} else {
    print "wrong...\n";
}