什么是“!”在perl中的变量之前均值

时间:2019-02-06 17:59:43

标签: perl syntax

此行需要您的帮助,我无法理解此检查的含义

if (!$value) {$value = 0;}

1 个答案:

答案 0 :(得分:4)

它是unary negation operator

  • 如果$value的值为true,则!$value将得出错误的值。

  • 如果$value的值为false,则!$value的值为真。

作为一个整体,如果$valuefalse,则该语句会将0设置为$value

它可能是这样写的:

$value ||= 0;

肯定会使用它作为以下操作的快捷方式:

if (!defined($value)) { $value = 0; }    # Can be written as: $value //= 0;