use strict; use warnings; use Inline C => Config => BUILD_NOISY => 1, PRE_HEAD => "#define PERL_NO_GET_CONTEXT", ; use Inline C => <<'EOC'; SV * dubble(SV * in) { dTHX; return newSViv(SvIV(in) * 2); } EOC my $x = dubble(23); print $x; # 46 #### #define PERL_NO_GET_CONTEXT #include "EXTERN.h" #include "perl.h" #include "XSUB.h" SV * dubble(pTHX_ SV * in) { return newSViv(SvIV(in) * 2); } MODULE = FOO PACKAGE = FOO SV * dubble (in) SV * in CODE: RETVAL = dubble(aTHX_ in); OUTPUT: RETVAL