use strict; use warnings; use Devel::Peek; use Inline C =><<'EOC'; void foo(SV * sv) { printf("\n%s\n\n", SvPV_nolen(sv)); /* SvPOK_off(sv); SvPV_set(sv, NULL); */ } EOC my $sv = 12345; Dump $sv; foo($sv); Dump($sv); __END__ Outputs: SV = IV(0x4ecd70) at 0x4ecd80 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 12345 12345 SV = PVIV(0x4f0088) at 0x4ecd80 REFCNT = 1 FLAGS = (IOK,POK,pIOK,pPOK) IV = 12345 PV = 0x25a4448 "12345"\0 CUR = 5 LEN = 10 #### SV = PVIV(0x4f0088) at 0x4ecd80 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 12345 PV = 0