Perl 内部结构详解 -- PerlGuts Illustrated
来源:互联网 发布:st单片机 编辑:程序博客网 时间:2024/04/29 20:18
之前想看一下Perl的实现,无意中搜到了这篇文章,对Perl内部类型的结构解释的很清晰,推荐感兴趣的都仔细看一下,想优化的时候做到心中有数。
接下来的几篇blog将翻译这篇文档中常见类型的部分,做个记录,加深印象,同时也方便大家阅读理解。
PerlGuts Illustrated
直接命令行的方法查看:perl -MDevel::Peek -e "$a = 123; Dump $a"
简单的例子用来查看变量内部结构:
use Devel::Peek;$a = 123;@a = 1..10;%a = 1..10;Dump $a;Dump \@a;Dump \%a;
标量:
SV = IV(0x2410960) at 0x2410964 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 123
数组:
SV = RV(0x3a7190) at 0x3a7184 REFCNT = 1 FLAGS = (TEMP,ROK) RV = 0x24109c4 SV = PVAV(0x3a80ac) at 0x24109c4 REFCNT = 2 FLAGS = () ARRAY = 0x24c1aec FILL = 9 MAX = 9 ARYLEN = 0x0 FLAGS = (REAL) Elt No. 0 SV = IV(0x24c0450) at 0x24c0454 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 1 Elt No. 1 SV = IV(0x24c0420) at 0x24c0424 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 2 Elt No. 2 SV = IV(0x24b7e40) at 0x24b7e44 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 3 Elt No. 3 SV = IV(0x24b7e50) at 0x24b7e54 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 4
Hash:
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
- Perl 内部结构详解 -- PerlGuts Illustrated
- Perl 内部结构详解 -- PerlGuts Illustrated (1)
- Perl 内部结构详解 -- PerlGuts Illustrated (2 SV)
- Perl 内部结构详解 -- PerlGuts Illustrated (3 AV)
- Perl 内部结构详解 -- PerlGuts Illustrated (4 HV)
- Perl 内部结构详解 -- PerlGuts Illustrated (6 CV)
- Perl 内部结构详解 -- PerlGuts Illustrated (5 GV & Stash)
- Learning Perl, 5th Edition [ILLUSTRATED]
- perl详解
- perl详解
- BSTR详解一 - BSTR简介和内部结构
- BSTR详解一 - BSTR简介和内部结构
- BSTR详解一 - BSTR简介和内部结构
- BSTR详解一 - BSTR简介和内部结构
- BSTR详解一 -BSTR简介和内部结构 (1)
- BSTR详解一 -BSTR简介和内部结构 (1) (转)
- c++ 关联容器详解——从内部结构到应用
- perl处理mysql详解
- 0.asm-call与jmp机器码取地址计算
- 任务和返回堆 - Tasks and Back Stack
- System.map文件的作用
- C#的is关键字
- Java线程:创建与启动
- Perl 内部结构详解 -- PerlGuts Illustrated
- 服务 - Services
- web作用域
- 苹果跟Amazon越来越像,两巨头战事升级
- Loongson重启的时候不显示BootMenu
- web service 原理
- android Bundle传值
- android application全局变量
- RedHat 9图形界面与命令行界面切换