/* Scalars */ if (SvIOK(sv)) { V_VT(pVariant) = VT_I4; V_I4(pVariant) = (LONG)SvIV(sv); } else if (SvNOK(sv)) { V_VT(pVariant) = VT_R8; V_R8(pVariant) = SvNV(sv); } else if (SvPOK(sv)) { V_VT(pVariant) = VT_BSTR; V_BSTR(pVariant) = AllocOleStringFromSV(aTHX_ sv, cp); } #### use strict; use warnings; use Devel::Peek; my $x = '10'; Dump($x); my $y = $x; Dump($y); my $z = 0 + $x; Dump($z); my $a = 10; Dump($a); print "\$a = $a\n"; Dump($a); #### SV = PV(0x9c3c6d0) at 0x9c585c0 REFCNT = 1 FLAGS = (PADMY,POK,pPOK) PV = 0x9c53bc8 "10"\0 CUR = 2 LEN = 4 SV = PV(0x9c3c730) at 0x9c58620 REFCNT = 1 FLAGS = (PADMY,POK,pPOK) PV = 0x9c50250 "10"\0 CUR = 2 LEN = 4 SV = IV(0x9c585ac) at 0x9c585b0 REFCNT = 1 FLAGS = (PADMY,IOK,pIOK) IV = 10 SV = IV(0x9c65674) at 0x9c65678 REFCNT = 1 FLAGS = (PADMY,IOK,pIOK) IV = 10 $a = 10 SV = PVIV(0x9c3e6b8) at 0x9c65678 REFCNT = 1 FLAGS = (PADMY,IOK,POK,pIOK,pPOK) IV = 10 PV = 0x9c66cc8 "10"\0 CUR = 2 LEN = 4