为什么打印列表输出列表中的最后一项?

CJ7*_*CJ7 0 printing perl list

print "Val: " . ('a','b','c');
Run Code Online (Sandbox Code Playgroud)

输出是:

C

为什么?

你怎么做也没关系.它可能是:

sub test {
    return ('a','b','c');
}
print "Val: " . test();
Run Code Online (Sandbox Code Playgroud)

小智 5

http://blogs.perl.org/users/steven_haryanto/2012/09/the-comma-operator.html

解释逗号运算符.引用它们,

"...它只是二进制逗号运算符.在标量上下文中,逗号运算符(逐字引用perlop联机帮助页)"计算其左参数,抛出该值,然后计算其右参数并返回该值.这就像C的逗号运算符一样."所以最终的结果是最正确的论点......"