#!/usr/bin/perl use warnings; use strict; use Inline C=>'DATA'; my @array = ( 1 .. 100 ); print get_an_element(\@array)."\n"; __DATA__ __C__ SV* get_an_element(SV* aref) { AV* array; if (! SvROK(aref)) croak("aref is not a reference"); array = (AV*)SvRV(aref); SV** v = av_fetch(array,8, 0); if( v == NULL ) croak("not enough elements in array"); SV* ret = *v; SvREFCNT_inc(ret); return ret; } __END__