【发布时间】:2012-11-21 10:51:57
【问题描述】:
我想将我创建的哈希中的值相加。
my $value_count;
foreach my $key (@keys) {
$value_count = sum($words{key}, $value_count);
}
但是当我运行它时,我得到了
Undefined subroutine &main::sum called at C:/Users/Clayton/workspace/main/Main.pl line 54, <$filehandle1> line 174.
我不确定我在哪里出错了。我是 Perl 的新手。
编辑:我尝试只使用 + 运算符,但出现错误
Use of uninitialized value in addition (+) at C:/Users/Clayton/workspace/main/Main.pl line 54, <$filehandle1> line 174.
几乎我的哈希就像 核心价值 猫 2 狗 4 大鼠 1
所以我尝试将所有值相加,以便取平均值。
编辑 2: 实际的修复是在我需要使我的 $value_count = 0 的 cmets 中。这修复了所有问题。谢谢你们。我认为这是一个需要解决的重要问题,我认为它可能对其他人有用,所以我将离开它。
【问题讨论】:
-
你用
key而不是$key修正了错字吗? -
确保您使用的是“$”信号。你不在你的例子中。
-
@Tim N aww darn 我确实有一个错字.....
-
@KirsKringle 那是因为它是未定义的;用
my $value_count = 0初始化它。顺便说一句,你很高兴use warnings:) -
以防万一您想知道:
$value_count=0,虽然是一个问题,但并不是真正的问题。它只会导致发出警告。错字和sum是实际问题。