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