Perl - 如果string为空,则使用0

时间:2016-11-22 23:43:50

标签: perl

将算术表达式与未定义或空字符串结合使用时,perl会引发错误。如果字符串为空,是否有一种干净的方法来使用零?

这不起作用:

1e6

在bash中你可以使用这样的东西,例如,如果变量$ emptyVar为空,则使用零:

$x = 1 + $emptyVar

我正在寻找与此类似的东西

1 个答案:

答案 0 :(得分:4)

有很多方法可以做到这一点。 e.g:

$x = $emptyVar;
$x += 1;

或者也许:

$x = 1 + ($emptyVar // 0); # defined-or operator

或者也许:

{
  no warnings 'uninitialized';
  $x = 1 + $emptyVar;
}

其中,我通常使用第二个。如果我正在使用的perl级别没有定义 - 或者,那么简单或(||)也可以正常工作。