{"provider_url":"https://hatena.blog","version":"1.0","categories":["perl"],"blog_url":"https://gfx.hatenadiary.org/","type":"rich","height":"190","provider_name":"Hatena Blog","url":"https://gfx.hatenadiary.org/entry/20100314/1268544446","description":"Test::Vars \u306e\u89e3\u8aac\u3092\u5c11\u3057\u3060\u3051\u3002Perl\u306e\u69cb\u6587\u6728\u3092\u6b69\u304d\u56de\u308b\u306b\u306f\u3001B::walkoptree()\u304bB::walkoptree_exec()\u3092\u4f7f\u3046\u3002\u57fa\u672c\u7684\u306a\u3084\u308a\u65b9\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3042\u308b\u3002 #!perl -w use strict; use feature 'say'; use B; my $cv = B::svref_2object(sub{ $_[0] + 42 }); local *B::OP::visit; *B::OP::visit = sub { my($op) = @_; say $op->name; }; say \"<walkoptree>\"; B::walkoptree($cv\u2026","width":"100%","published":"2010-03-14 14:27:26","author_url":"https://blog.hatena.ne.jp/gfx/","author_name":"gfx","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgfx.hatenadiary.org%2Fentry%2F20100314%2F1268544446\" title=\" Visit opcode tree with B - Islands in the byte stream (legacy)\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","image_url":null,"blog_title":"Islands in the byte stream (legacy)","title":" Visit opcode tree with B"}