int set( SV *rv, SV *in ) { O *o = *(O**)SvPV( SvRV( rv ), PL_na ); o->sv = newSVsv( in ); printf( "S:rv;%p o:%p o->sv:%p\n", rv, o, o->sv ); return 1; } SV *get( SV *rv ) { O *o = *(O**)SvPV( SvRV( rv ), PL_na ); printf( "G:rv;%p o:%p o->sv:%p\n", rv, o, o->sv ); return newSVsv( o->sv ); } S:rv;0x8d1c9f4 o:0x87736f4 o->sv:0x8d1d374 G:rv;0x8641564 o:0x87736f4 o->sv:0x8d1d374