加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl – 操作码的操作码?

发布时间:2020-12-15 23:34:42 所属栏目:大数据 来源:网络整理
导读:有没有办法创建perl源代码,如果我有操作码? 例如 perl -MO=Concise -e "print 123" 将输出操作码: 6 @ leave[1 ref] vKP/REFC -(end)1 0 enter -22 ; nextstate(main 1 -e:1) v:{ -35 @ print vK -63 0 pushmark s -44 $ const[IV 123] s -5 我想以某种方
有没有办法创建perl源代码,如果我有操作码?

例如

perl -MO=Concise -e "print 123"

将输出操作码:

6  <@> leave[1 ref] vKP/REFC ->(end)
1     <0> enter ->2
2     <;> nextstate(main 1 -e:1) v:{ ->3
5     <@> print vK ->6
3        <0> pushmark s ->4
4        <$> const[IV 123] s ->5

我想以某种方式扭转这种局面.

解决方法

如果通过“拥有操作码”,则表示“拥有操作码树”

虽然B :: Concise试图准确表示操作码树,但B :: Deparse采用操作码树并从中生成源代码.

$perl -MO=Deparse -e'$x && print'
print $_ if $x;
-e syntax OK

虽然有一些限制,但它还是相当不错的.

如果通过“拥有操作码”,则表示“具有B :: Concise的输出”

鉴于B :: Concise试图非常完整,它可能是可能的,但我认为缺少一些信息.我很确定没有什么可以尝试在CPAN上做到这一点,因为我从来没有听说过破坏它(你会期望经常发生的事情).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读