鉴于CODE参考,是否有可能:
通常我们通过指定源代码在perl中创建子例程,然后解析源代码并将其转换为解析树.
我想编写一个perl函数,它可以通过指定其解析树来创建子例程,并且该解析树可以从某个其他子例程的另一个解析树派生.
可能?
我不知道你的问题的完整答案,但我知道Data :: Dumper可以解析代码引用.看看它的文档,我看到它B::Deparse用来做繁重的工作(B::模块是与编译器交互的模块).不幸的是,这似乎只会导致coderef的文本表示.
相反,我搜索了Opmetacpan并获得了更多有趣的可能性.由于我现在远远超出了我最深的Perl魔法,我会留给你看看那些结果.也许某些东西会有用.