%module mycpp %include "std_vector.i" namespace std { %template(IntVector) vector; } extern double average(std::vector v); Having the C++ file as follows: #include #include #include #include double average(std::vector v) { return std::accumulate(v.begin(),v.end(),0.0)/v.size(); } #### use mycpp; ny $sv = mycpp::IntVector(); $sv->push(1); $sv->push(2); $sv->push(3); $sv->push(4); $avg = average($sv); #### Can't locate auto/mycpp/IntVector.al in @INC (@INC contains: /usr/perl5/5.6.0/i386-linux /usr/lib/perl5/site_perl/5.6.0/i386-linux /usr/prel5/site_perl/5.6.0 /usr/lib/perl5/site_perl .) at mycpp.pl line 2.