#! perl -slw use 5.010; use strict; use Inline C => Config => BUILD_NOISY => 1; use Inline C => <<'END_C', NAME => 'junk', CLEAN_AFTER_BUILD => 0; void test( SV *in ) { size_t len = SvCUR( in ), i; U32 *ary = (U32*)SvPVX( in ); for( i = 0; i < len / sizeof(U32); ++i ) { printf( "%d:%d\n", i, ary[ i ] ); } return; } END_C my $ary = pack 'V*', 1 .. 20; test( $ary ); __END__ C:\test>826865.pl 0:1 1:2 2:3 3:4 4:5 5:6 6:7 7:8 8:9 9:10 10:11 11:12 12:13 13:14 14:15 15:16 16:17 17:18 18:19 19:20