阵列长度检查时未初始化的值警告

Ham*_*eed 1 arrays perl dereference

我有以下代码:

my @product_access = @{ $products->{ $PosDetails->{"SalProductRef"}->[$i]}
                      {DetAccess_tab} };

if ( @product_access == 1 )
{
    $revenue{ $products->{ $PosDetails->{"SalProductRef"}->[$i] }{DetFinanceCategory} }
            {"Total"} += $PosDetails->{"SalSubTotal"}->[$i];
}
Run Code Online (Sandbox Code Playgroud)

在我检查阵列长度的地方,我收到Use of uninitialized value in concatenation警告.在那条线上发出警告似乎有点奇怪.为什么会显示此警告?

yst*_*sth 6

某些版本的perl会在if行的elsif子句中报告一些警告.我打赌这就是这种情况.