sub[C] SV* get_xy_ref( SV* self ) { SV* self_hv = (HV*) SvRV(self) ; SV* sv_x = *hv_fetch( self_hv , "x" , strlen("x") , 0 ) ; SV* sv_y = *hv_fetch( self_hv , "y" , strlen("y") , 0 ) ; AV* ret = newAV() ; av_fill(ret , 1) ; av_store(ret , 0 , newSV(0)) ; av_store(ret , 1 , newSV(0)) ; sv_setsv( *av_fetch(ret, 0 ,0) , sv_x ) ; sv_setsv( *av_fetch(ret, 1 ,0) , sv_y ) ; return newRV_inc( ret ) ; }