in reply to Re: how internally $#array is working in Perl
in thread how internally $#array is working in Perl
$ perl -MDevel::Peek -e'my @a; Dump(\@a,1); Dump($#a); Dump(\@a,1);' SV = IV(0x816c154) at 0x816c158 REFCNT = 1 FLAGS = (TEMP,ROK) RV = 0x817bc30 SV = PVAV(0x816d038) at 0x817bc30 REFCNT = 2 FLAGS = (PADMY) ARRAY = 0x0 FILL = -1 MAX = -1 ARYLEN = 0x0 FLAGS = (REAL) SV = PVMG(0x817718c) at 0x816c158 REFCNT = 1 FLAGS = (GMG,SMG) IV = 0 NV = 0 PV = 0 MAGIC = 0x8194008 MG_VIRTUAL = &PL_vtbl_arylen MG_TYPE = PERL_MAGIC_arylen(#) MG_OBJ = 0x817bc30 SV = IV(0x816c2b4) at 0x816c2b8 REFCNT = 1 FLAGS = (TEMP,ROK) RV = 0x817bc30 SV = PVAV(0x816d038) at 0x817bc30 REFCNT = 2 FLAGS = (PADMY,RMG) MAGIC = 0x8193420 MG_VIRTUAL = &PL_vtbl_arylen_p MG_TYPE = PERL_MAGIC_arylen_p(@) MG_FLAGS = 0x02 REFCOUNTED MG_OBJ = 0x816c158 SV = PVMG(0x817718c) at 0x816c158 REFCNT = 1 FLAGS = (GMG,SMG) IV = 0 NV = 0 PV = 0 MAGIC = 0x8194008 MG_VIRTUAL = &PL_vtbl_arylen MG_TYPE = PERL_MAGIC_arylen(#) MG_OBJ = 0x817bc30 ARRAY = 0x0 FILL = -1 MAX = -1 ARYLEN = 0x816c158 FLAGS = (REAL)
|
|---|