TYPEMAP PClass* CPP_OBJECT OUTPUT CPP_OBJECT SV* theObjRef = newSV(0); sv_setref_pv( theObjRef, 0, (void*)$var ); SV* rv = newRV_noinc(theObjRef); sv_bless( rv, gv_stashpv(CLASS, GV_ADD) ); sv_setsv($arg, rv); INPUT CPP_OBJECT $var = ($type) SvIV(SvRV((SV*)SvRV($arg)));