static SV * fp = (SV*) NULL; void call_funky() { dSP; if(fp == (SV*) NULL) return; PUSHMARK(SP); perl_call_sv(fp, G_DISCARD); } MODULE = sometin PACKAGE = somethin void funky(f) SV * f CODE: if (fp == (SV*)NULL) fp = newSVsv(f); else SvSetSV(fp, f);