我想在另一个子里面有一个子,
sub a { sub b { } }
我想为每次调用sub a创建一个新的sub b实例.在Perl中有办法做到这一点吗?
当我运行上面的代码并在sub a中打印sub b的地址时,我总是得到sub b的相同地址
sub a { print \&b; sub b{ } }
This link on Perl Monks说我们可以做到这一点,但我总是看到sub b的相同地址.
有没有办法为每次调用sub a创建一个新的sub b实例?
解决方法
sub a { sub b{ } }
基本相同:
sub a { } sub b{ }
因为命名子程序存在于符号表中,因此它们是全局的.您将需要返回对子例程的引用.