我目前正在学习 Perl 编程并且遇到这样的语句:
return bless { }, $type;
我知道return bless { };
会做什么,我也知道return $type;
会做什么,但是用逗号分隔它们如何影响语句,并且它对所有一元运算符的工作方式都相同吗?
可以使用或不使用括号来调用预定义的 Perl 函数。大多数来自其他语言的人将这些功能与关键字/运算符混淆。
bless、undef、push、pop、shift、unshift、print、split、join等都是函数。
因此,这两个是等价的:
return bless { }, $type;
return bless({ }, $type);
但这两个不是:
print 2 * 3 + 2; # prints 8
print(2 * 3) + 2; # prints 6 (with a warning if warnings pragma is on)