#! perl -slw use strict; use Inline C => Config => BUILD_NOISY => 1; use Inline C => <<'END_C', NAME => 'junk', CLEAN_AFTER_BUILD => 0; AV* return_an_array() { AV* av; av = newAV(); av_push( av, sv_2mortal( newSViv( 7 ) ) ); av_push( av, sv_2mortal( newSViv( 42 ) ) ); return av; } END_C my $ref = return_an_array(); print "@{ $ref }"; __END__ C:\test>junk Use of uninitialized value in join or string at C:\test\junk.pl line 17. Use of uninitialized value in join or string at C:\test\junk.pl line 17. #### #! perl -slw use strict; use Inline C => Config => BUILD_NOISY => 1; use Inline C => <<'END_C', NAME => 'junk', CLEAN_AFTER_BUILD => 0; AV* return_an_array() { AV* av; av = newAV(); av_push( av, newSViv( 7 ) ); av_push( av, newSViv( 42 ) ); return sv_2mortal( av ); } END_C for ( 1 .. 1e8 ) { my $ref = return_an_array(); print "@{ $ref }"; } __END__ C:\test>junk 7 42 7 42 7 42 7 42 7 42 ...