Perl - 错误 "Type of arg 1 to each must be hash (not hash element)"

Perl - Error "Type of arg 1 to each must be hash (not hash element)"

我在尝试 运行 此脚本时遇到此错误 - 在这一行

arg 1 的类型必须是散列(不是散列元素)

    while (my ($action, $value) = each($cameras{$camera}{$mode})) {

如何修复此错误?

取消引用散列:

 while (my ($action, $value) = each(%{ $cameras{$camera}{$mode} })) {

假设 $cameras{$camera}{$mode} 是对散列的引用:

each ( %{ $cameras{$camera}{$mode} } );

如错误所述,每个 arg 1 的类型必须是散列(而不是散列引用)。

如果它不是哈希引用,则不能对其使用 each