### try.pl ### use strict; use warnings; use Inline C => Config => FORCE_BUILD => 1, BUILD_NOISY => 1, CLEAN_AFTER_BUILD => 0, ; use Inline C => <<'EOC'; void foo(SV * x, ...) { dXSARGS; int i, ret = 0; for(i = 0; i < items; i++) { ret += (int)SvIV(ST(i)); } printf("%d\n", ret); XSRETURN(0); } EOC # Apart from the building output, this script # finally outputs -5 (== 1 + 2 + 3 - 11) foo(1,2,3,-11);