Perl 返回返回标量值的匿名函数

Perl 返回返回标量值的匿名函数,perl,Perl,我正试图弄清楚在这个简单的语句中到底在处理什么: sub testReturn { return sub { my $val = shift; return $val; } } 什么时候 被调用时,它输出: CODE(0x9c63b34) 当我试图让它简单地返回值1。谢谢。您的函数以匿名代码块的形式返回另一个函数。 您可以调用该代码为自己做一些事情,如: my $anonsub = testReturn(); # $anonsub is COD

我正试图弄清楚在这个简单的语句中到底在处理什么:

sub testReturn {
    return sub {
        my $val = shift;
        return $val;
    }
}
什么时候

被调用时,它输出:

CODE(0x9c63b34)

当我试图让它简单地返回值1。谢谢。

您的函数以匿名代码块的形式返回另一个函数。 您可以调用该代码为自己做一些事情,如:

my $anonsub = testReturn(); # $anonsub is CODE object
my $num = &$anonsub(1);      # here this code is called
print $num;

函数以匿名代码块的形式返回另一个函数。 您可以调用该代码为自己做一些事情,如:

my $anonsub = testReturn(); # $anonsub is CODE object
my $num = &$anonsub(1);      # here this code is called
print $num;
或者
my$num=testReturn()->(1)
my$num=testReturn()->(1)