#ifdef __cplusplus extern "C" { #endif #include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include "ppport.h" #ifdef __cplusplus } #endif #include #include using std::string; using aiml::cCore; using aiml::AIMLError; MODULE = AI::AIML PACKAGE = AI::AIML cCore * cCore::new() void cCore::DESTROY() bool cCore::initialize(const char* file) void cCore::deinitialize() long cCore::get_error() const char* cCore::get_error_str(AIMLError error_num); const char* cCore::respond(const char* input, const char* username) CODE: string out; if (!THIS->respond(input, username, out)) XSRETURN_UNDEF; else RETVAL = out.c_str(); OUTPUT: RETVAL #### PERL_DL_NONLAZY=1 /usr/bin/perl5.8.6 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/AI-AIML....ok 3/4# Returned: Hello there. t/AI-AIML....ok All tests successful. Files=1, Tests=4, 8 wallclock secs ( 7.48 cusr + 0.16 csys = 7.64 CPU)