将算术表达式与未定义或空字符串结合使用时,perl会引发错误。如果字符串为空,是否有一种干净的方法来使用零?
这不起作用:
1e6
在bash中你可以使用这样的东西,例如,如果变量$ emptyVar为空,则使用零:
$x = 1 + $emptyVar
我正在寻找与此类似的东西
答案 0 :(得分:4)
有很多方法可以做到这一点。 e.g:
$x = $emptyVar;
$x += 1;
或者也许:
$x = 1 + ($emptyVar // 0); # defined-or operator
或者也许:
{
no warnings 'uninitialized';
$x = 1 + $emptyVar;
}
其中,我通常使用第二个。如果我正在使用的perl级别没有定义 - 或者,那么简单或(||
)也可以正常工作。