obj_ref = sv_setref_pv(newSViv(0), class, (void *)soldier); SvREADONLY_on(SvRV(obj_ref)); return obj_ref; #### SV* obj = newSViv((IV)soldier); SV* obj_ref = newRV_noinc(obj); sv_bless(obj_ref, gv_stashpv(class, TRUE)); SvREADONLY_on(obj); return obj_ref; #### obj_ref = sv_setref_pv(newSV(0), class, (void *)soldier); SvREADONLY_on(SvRV(obj_ref)); return obj_ref; #### GrNode * T_GR_NODE INPUT T_GR_NODE $var = (GrNode*) ({ SV* arg = $arg; SV* tmp = arg && SvROK(arg) ? SvRV(arg) : 0; tmp && SvIOK(tmp) ? SvIV(tmp) : 0; }); OUTPUT T_GR_NODE $arg = $var ? wrap("Rx::DOM::Node", $var) : &PL_sv_undef;