检查 perl 中的变量是否为空

Pau*_* IT -2 perl

我在 main() 中调用一个子程序,如下所示:

发送邮件($opts,$test)

我只想在 $test 不为空时调用这个子程序。

可以请一些人帮助我解决我需要在上面一行中提到的 if 条件来检查相同的情况。

谢谢

Dav*_*oss 5

这取决于你所说的“空”是什么意思。

如果您正在寻找真值或假值,则只需测试变量本身:

sendMail($opts, $test) if $test;
Run Code Online (Sandbox Code Playgroud)

如果您要查找非空字符串,请测试变量的长度:

sendMail($opts, $test) if length $test;
Run Code Online (Sandbox Code Playgroud)

如果您正在寻找包含任何值的变量,请检查defined()

sendMail($opts, $test) if defined $test;
Run Code Online (Sandbox Code Playgroud)