我试图弄清楚此简单语句中的确切处理:
sub testReturn {
return sub {
my $val = shift;
return $val;
}
}
my $num = testReturn(1);
print $num;
称为,它输出:
CODE(0x9c63b34)
当我试图拥有它时,只需返回1。谢谢。
您的函数将另一个函数作为匿名代码块返回。您可以调用该代码为您做一些事情,例如:
my $anonsub = testReturn(); # $anonsub is CODE object
my $num = &$anonsub(1); # here this code is called
print $num;