错误:不能使用未定义的值作为 ARRAY 引用

use*_*387 3 perl

我正在编写脚本,我必须通过或失败测试用例。所以我在一个 undef 变量中有一些值。

我正在检查这样的事情:

我有一个$val其中有散列数组。现在我正在检查该数组是否为空:

if(@$val<=0){do something}
Run Code Online (Sandbox Code Playgroud)

所以如果是这样$val = undef,那么这会引发错误:

不能使用未定义的值作为 ARRAY 引用

我应该如何检查我的$val是否为空?

fri*_*edo 5

如果要检查标量是否为 undef,请使用defined运算符。

if ( not defined $val ) { 
    # do something
}
Run Code Online (Sandbox Code Playgroud)