Perl句点与逗号运算符

Perl句点与逗号运算符,perl,comma,period,Perl,Comma,Period,为什么 print "$str is " , ispalindrome($str) ? "" : " not" , " a palindrome\n" 打印“女士是回文”,但是 打印“”?条件运算符(?:)的优先级高于逗号,但低于句点。因此,第一行被解析为: print("$str is " , (ispalindrome($str) ? "" : " not"), " a palindrome\n") print(("$str is " . ispalindrome($str)) ? "

为什么

print "$str is " , ispalindrome($str) ? "" : " not" , " a palindrome\n" 
打印“女士是回文”,但是

打印“”?

条件运算符(
?:
)的优先级高于逗号,但低于句点。因此,第一行被解析为:

print("$str is " , (ispalindrome($str) ? "" : " not"), " a palindrome\n")
print(("$str is " . ispalindrome($str)) ? "" : (" not" . " a palindrome\n"))
而第二个被解析为:

print("$str is " , (ispalindrome($str) ? "" : " not"), " a palindrome\n")
print(("$str is " . ispalindrome($str)) ? "" : (" not" . " a palindrome\n"))