在简单的perl循环中无效地使用void上下文中的私有变量,不知道错误在哪里

时间:2015-07-21 22:17:10

标签: perl

if ( $num_of_things > 1) {
    my $max_element = $num_of_things -1;
    for($max_element; $max_element >= 0; $max_element--) {
        $value_array[$max_element] = $starting_hash{$key}[$max_element];
    }

我在代码片段中未初始化的所有变量都已初始化为较大子例程的一部分(我不想因长度而提出)。我不确定在这段代码中我在无效上下文错误中使用私有变量的地方,我的编译器告诉我它是最后一行(除了结束括号之外&#) 34;}&#34)。所有的帮助都非常受欢迎,因为我已经盯着这个循环了将近一个小时而不知道出了什么问题。

1 个答案:

答案 0 :(得分:1)

将$ max_element的初始化(和声明)移动到for语句中 [见ooga评论]

for( my $max_element=$num_of_things-1; $max_element>= 0; $max_element--) {
    $value_array[$max_element] = $starting_hash{$key}[$max_element];
}