use warnings; use Inline C => Config => BUILD_NOISY => 1; use Inline C => <<'EOC'; int add(SV * a, ...) { dXSARGS; int i, ret = 0; for(i = 0; i < items; i++) ret += SvIV(ST(i)); return ret; } EOC print add(11, 12), "\n"; # prints 23 print add(10, 11, 12), "\n"; # prints 33