当算术表达式与未定义或空字符串结合使用时,perl 会抛出错误。如果字符串为空,是否有一种干净的方法来使用零?
这不起作用:
$x = 1 + $emptyVar
Run Code Online (Sandbox Code Playgroud)
在 bash 中,如果变量 $emptyVar 为空,您可以使用类似的方法来使用零:
x=1+${emptyVar:-0}
Run Code Online (Sandbox Code Playgroud)
我正在寻找与此类似的东西
有很多方法可以做到这一点。例如:
$x = $emptyVar;
$x += 1;
Run Code Online (Sandbox Code Playgroud)
或者可能:
$x = 1 + ($emptyVar // 0); # defined-or operator
Run Code Online (Sandbox Code Playgroud)
或者可能:
{
no warnings 'uninitialized';
$x = 1 + $emptyVar;
}
Run Code Online (Sandbox Code Playgroud)
其中,我通常使用第二个。如果我使用的 perl 级别没有定义-or,那么简单的 or ( ||) 也可以正常工作。
| 归档时间: |
|
| 查看次数: |
288 次 |
| 最近记录: |