use warnings; use strict; use Inline C => Config => BUILD_NOISY => 1; use Inline C => <<'EOC'; void foo(char * htmFile, int len) { dXSARGS; sp = mark; XPUSHs(sv_2mortal(newSVpv(htmFile, len))); PUTBACK; XSRETURN(1); } EOC my $len = 8000000; my $z = 'z' x $len; my $copy = foo($z, $len); print length($copy), "\n";