use warnings; use Inline C => Config => BUILD_NOISY => 1; use Inline C => <<'EOC'; void foo() { dXSARGS; sp = mark; XPUSHs(sv_2mortal(newSVuv(111))); XPUSHs(sv_2mortal(newSVuv(87))); XPUSHs(sv_2mortal(newSVuv(42))); PUTBACK; } EOC @bar = foo(); print "@bar\n"; # prints 111 87 42