sub f {
# some code here
()
}
这个Perl子程序中的()是什么意思?
答案 0 :(得分:16)
sub中的最后一个表达式将是返回值。这确保了(假设没有先前的return
语句)sub返回一个空列表(而不是前一行代码中的任何内容)。
答案 1 :(得分:1)
好的......所以它可能是病态的,但是 IS Perl我们正在谈论......
根据“#some code here”的实际文本,可以想象产生一个解除引用的CODE引用,在这种情况下,parens将导致使用零参数调用CODE,并且该代码的返回值将是`f'的返回值。
例如,以下内容将打印出一个小写的“a”:
sub f {
&{sub { return $_[0] }}
(@_)
}
print f(qw( a b c d e f )), "\n";