()在Perl子程序结束时的意思是什么?

时间:2013-06-07 11:17:29

标签: perl

sub f {
    # some code here
    () 
}

这个Perl子程序中的()是什么意思?

2 个答案:

答案 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";