2015-11-04 48 views

回答

5

perldoc perlop列出了Perl運算符。

邏輯定義,或者

雖然它在C中沒有直接對應,Perl的//操作員 與其C風格的「或」。事實上,它與|| 完全一樣,除了它測試左側的定義而不是其真實的 。

//=只是它的分配版本。

賦值運算符的工作爲C.也就是說,

$x += 2; 

相當於

$x = $x + 2; 

所以它分配給0除非numnum已定義。

這與||不同,因爲定義的值不是真的(例如0或空字符串)。

0

NUM // = 0,這相當於

num = num // 0; 

這意味着它檢查左操作數是否定義,如果定義它返回左操作數或右操作數。

my $num; 

$num //= 0; 

print $num; # optputs 0 

$num = 9; 

$num //= 0; 

print $num; # outputs 9 
+2

它不等於'num = num || 0;'。 ''''和'||'明顯不同。一個測試真理另一個測試。 – Quentin

+0

所以,我明白,如果'num'不是空'採取'num'如果null採取0。 –

+0

@OsamaMostafa - 不錯。由於Perl沒有'null',所以永遠不會發生。 – Quentin

相關問題