我想弄清楚在这个简单的陈述中究竟处理了什么:
sub testReturn {
return sub {
my $val = shift;
return $val;
}
}
当
my $num = testReturn(1);
print $num;
调用,输出:
CODE(0x9c63b34)
当我试图让它只返回值1.谢谢。
答案 0 :(得分:7)
您的函数将另一个函数作为匿名代码块返回。 您可以调用该代码为您做一些事情,如下所示:
my $anonsub = testReturn(); # $anonsub is CODE object
my $num = &$anonsub(1); # here this code is called
print $num;