# The following was supposedly scribed by # [EMAIL PROTECTED] # on Thursday 10 March 2005 09:04 am:
>In my understanding, Perl functions have no analogous C function > behind the scenes. Even worse, aren't C function pointers fixed as of compile time? >If you need to pass a function argument to some external function, you > should probably use a wrapper. Would that require you to set a global variable in your C code? Such as the below (poorly written) pseudocode, where the callback is to a pure C function that gets the Perl subroutine from a hardcoded variable. Something like: // I'm just making stuff up here, some syntax may be incorrect. SV* mysub; void callback_wrap(myCallback) { // error checking, etc call_sv(mysub); } void perl_method(SV* callback) { // callback doesn't exist until runtime mysub = callback; // callback_wrap has been at one memory address since compiling some_C_method(callback_wrap); mysub = SV_NULL; // or something } --Eric -- "Matter will be damaged in direct proportion to its value." -- Murphy's Constant --------------------------------------------- http://scratchcomputing.com ---------------------------------------------