----- Original Message ----- From: "邬 明辉" <[EMAIL PROTECTED]> . . > > /************* xs file > #ifndef bool > #include <iostream> > #endif > extern "C" { > #include "EXTERN.h" > #include "perl.h" > #include "XSUB.h" > #include "INLINE.h" > } > #ifdef bool > #undef bool > #include <iostream> > #endif > using namespace std; > > #include "dbAPI.H" > #include "sesUtilInit.H" > dbAPI *db=new dbAPI();MODULE = ntst_pl_34eb PACKAGE = main > PROTOTYPES: DISABLE > > /************************************************
That's a strange XS file. I suspect that it's not valid. Normally there would be (at least) one newline ("\n") between 'dbAPI *db=new dbAPI();' and 'MODULE = ntst_pl_34eb PACKAGE = main'. I don't know much about C++, but I suspect that perl doesn't know how to deal with the dbAPI* type - for which you may need to provide a typemap. (If you attend to that, then maybe the problem will be fixed ... then again, maybe there's more to the problem.) Anyway ... this info is provided in the spirit of "something to think about while you're waiting for the informed advice of the experts" :-) Cheers, Rob