in reply to Re^2: PerlEmbed convert C value to perl value
in thread PerlEmbed convert C value to perl value
Using eval_pv, you'd have to initialise the string as Perl code.
eval_pv("$string = \"This is a string\"; print(\"$string\\n\");");
What you really want is call_*. Look at "Passing Parameters" in perlcall.
static void call_some_perl_sub(const char* s) { dSP; ENTER; SAVETMPS; PUSHMARK(SP); XPUSHs(sv_2mortal(newSVpv(s, strlen(s)))); PUTBACK; call_pv("some_perl_sub", G_DISCARD); FREETMPS; LEAVE; }
Where some_perl_sub does your printing. eval_pv can be used to create the sub in the first place.
Update: Added code.
|
|---|