##
void
sub_from_xs(SV *num, SV *str)
PREINIT:
int nx;
char *sx;
CODE:
nx = get_nx();
sx = get_sx();
sv_setiv_mg(num, nx);
sv_setpv_mg(str, sx);
####
my ($num, $str) = sub_from_xs();
####
void
sub_from_xs()
PREINIT:
int nx;
char *sx;
PPCODE:
nx = get_nx();
sx = get_sx();
EXTEND(SP, 2);
PUSHs(sv_2mortal(newSViv(nx)));
PUSHs(sv_2mortal(newSVpv(sx, 0)));