在Perl中,一个子程序如何获得指向自身的代码?

前端之家收集整理的这篇文章主要介绍了在Perl中,一个子程序如何获得指向自身的代码?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为了学习的目的,我正在建设的想法
事件驱动程序在Perl和注意到,它可能是很好的如果一个
注册为事件处理程序的子例程可以在失败时,
只是安排另一个调用自己以后的时间。到目前为止,我有
想出这样的东西:
my $cb;
my $try = 3;
$cb = sub {
    my $rc = do_stuff();
    if (!$rc && --$try) {
        schedule_event($cb,10); # schedule $cb to be called in 10 seconds
    } else {
        do_other_stuff;
    }
};
schedule_event($cb,0); # schedule initial call to $cb to be performed ASAP

有一种方法代码里面的sub可以访问coderef
sub所以我可以不使用额外的变量?我想
调度这样的初始调用

schedule_event( sub { ... },0);

我首先想到使用caller(0)[3],但这只是给了我一个
函数名,(__ANON__如果没有名称),而不是代码引用
其具有附接到其上的垫。

解决方法

我认为 Sub::Current解决你的问题。

猜你在找的Perl相关文章