Devel::Peek の出力の読み方
Devel::Peek::Dump の出力はこういう風になっているわけですが
SV = IV(0xedb740) at 0xedb748 REFCNT = 2 FLAGS = (PADMY,IOK,pIOK) IV = 1
さて、"IV(0xedb740) at 0xedb748" ってなんだ? ってなるわけです。
"IV(0xedb740)" のアドレスは、sv_any のアドレスで、0xedb748 の方は SV そのもののアドレスです。
なお、struct sv は疑似コードでいうと以下のような構造になっています。
template <class T> struct SV { T sv_any; // 値本体へのポインタ uint32_t sv_refcnt; // リファレンスカウント uint32_t sv_flags; // フラッグ union { char *svu_pv; IV svu_iv; UV svu_uv; SV* svu_rv; SV** svu_array; HE** svu_hash; PerlIO* svu_fp; } sv_union_t; }