B-C
view release on metacpan or search on metacpan
ramblings/magic view on Meta::CPAN
Gives magic how to hv with obj = gv and zero name and namlen.
mg.c
mg_copy(sv, nsv, key, klen)
Traverses the magic chain of sv. Upper case forms of magic
(only) are copied across to nsv, preserving obj but using
name = key and namlen = klen.
magic_setpos()
LvTARG of a PVLV gets 'g' magic with obj = name = 0 and namlen = pos.
op.c
mod()
PVLV operators give magic to their targs with
obj = name = namlen = 0. OP_POS gives '.', OP_VEC gives 'v'
and OP_SUBSTR gives 'x'.
perl.c
magicname(sym, name, namlen)
Fetches/creates a GV with name sym and gives it '\0' magic
with obj = gv, name and namlen as passed.
init_postdump_symbols()
Elements of the environment get given SVs with 'e' magic.
obj = sv and name and namlen point to the actual string
within env.
pp.c
pp_av2arylen()
$#foo gives '#' magic to the new SV with obj = av and
name = namlen = 0.
pp_study()
SV gets 'g' magic with obj = name = namlen = 0.
pp_substr()
PVLV gets 'x' magic with obj = name = namlen = 0.
pp_vec()
PVLV gets 'x' magic with obj = name = namlen = 0.
pp_hot.c
pp_match()
m//g gets 'g' magic with obj = name = namlen = 0.
pp_sys.c
pp_tie()
sv gets magic with obj = sv and name = namlen = 0.
If an HV or an AV, it gets 'P' magic, otherwise 'q' magic.
pp_dbmopen()
'P' magic for the HV just as with pp_tie().
pp_sysread()
If tainting, the buffer SV gets 't' magic with
obj = name = namlen = 0.
sv.c
ref loops:
For certain magics the sv == obj - a "magic reference loop":
arylen, symtab, tiedscalar, .... There the obj refcount is
not incremented.
sv_setsv()
Doing sv_setsv(dstr, gv) gives '*' magic to dstr with
obj = dstr, name = GvNAME, namlen = GvNAMELEN.
sv_setsv_flags()
Set vstring on SvVSTRING_mg (RMAGIC)
sv_rvweaken()
tiedscalar weakens the RV obj to the PVIO. Sets a backref magic
to the referred SV.
util.c
fbm_compile()
The PVBM gets 'B' magic with obj = name = namlen = 0 and SvVALID
is set to indicate that the Boyer-Moore table is valid.
magic_setbm() just clears the SvVALID flag.
hv_magic()
----------
gv.c
gv_fetchfile()
With perldb, the HV of a gvfile gv gets 'L' magic with obj = gv.
gv_fetchpv()
%SIG gets 'S' magic with obj = siggv.
init_postdump_symbols()
%ENV gets 'E' magic with obj = envgv.
( run in 3.694 seconds using v1.01-cache-2.11-cpan-5735350b133 )