Perl 内部结构详解 -- PerlGuts Illustrated
之前想看一下Perl的实现,无意中搜到了这篇文章,对Perl内部类型的结构解释的很清晰,推荐感兴趣的都仔细看一下,想优化的时候做到心中有数。
接下来的几篇blog将翻译这篇文档中常见类型的部分,做个记录,加深印象,同时也方便大家阅读理解。
直接命令行的方法查看:perl -MDevel::Peek -e "$a = 123; Dump $a"
简单的例子用来查看变量内部结构:
SV = RV(0xe7190) at 0xe7184 REFCNT = 1 FLAGS = (TEMP,ROK) RV = 0x24aaa0c SV = PVHV(0x2401c94) at 0x24aaa0c REFCNT = 2 FLAGS = (SHAREKEYS) ARRAY = 0x24bd47c (0:3, 1:5) hash quality = 150.0% KEYS = 5 FILL = 5 MAX = 7 RITER = -1 EITER = 0x0 Elt "1" HASH = 0x806b80c9 SV = IV(0x24b7ca0) at 0x24b7ca4 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 2 Elt "3" HASH = 0xa400c7f3 SV = IV(0x24b7c80) at 0x24b7c84 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 4 Elt "7" HASH = 0xecc9d984 SV = IV(0x24b7c60) at 0x24b7c64 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 8