With XS code you can even got to TripleVar SV's :)
$ perl -wl \ ? -e 'use charnames ":full";' \ ? -e 'use Data::Peek qw(triplevar DDump);' \ ? -e 'my $tv = triplevar ("\N{GREEK SMALL LETTER PI}", 3, 3.1415);' \ ? -e 'DDump $tv' SV = PVNV(0x1217860) at 0x76a528 REFCNT = 1 FLAGS = (PADMY,IOK,NOK,POK,pIOK,pNOK,pPOK,UTF8) IV = 3 NV = 3.1415 PV = 0x7773e0 "\317\200"\0 [UTF8 "\x{3c0}"] CUR = 2 LEN = 8
or in one line
perl -MData::Peek=triplevar,DDump -wle'DDump (triplevar ("\x{3c0}", 3, + 3.1415))' SV = PVNV(0x11d8f20) at 0x74b0e0 REFCNT = 1 FLAGS = (IOK,NOK,POK,pIOK,pNOK,pPOK,UTF8) IV = 3 NV = 3.1415 PV = 0x75b470 "\317\200"\0 [UTF8 "\x{3c0}"] CUR = 2 LEN = 8
You could go even further by adding magic and controling the magic by a combination of the IV, NV, and PV parts. That however is sick :)
In reply to Re: Question on SV internals
by Tux
in thread Question on SV internals
by John M. Dlugosz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |