*** src/pl/plperl/plperl.c --- src/pl/plperl/plperl.c *************** *** 700,706 **** plperl_trusted_init(void) if (!isGV_with_GP(sv) || !GvCV(sv)) continue; SvREFCNT_dec(GvCV(sv)); /* free the CV */ ! GvCV(sv) = NULL; /* prevent call via GV */ } hv_clear(stash); /* invalidate assorted caches */ --- 700,706 ---- if (!isGV_with_GP(sv) || !GvCV(sv)) continue; SvREFCNT_dec(GvCV(sv)); /* free the CV */ ! GvCV_set(sv, NULL); /* prevent call via GV */ } hv_clear(stash); /* invalidate assorted caches */ *** src/pl/plperl/plperl.h --- src/pl/plperl/plperl.h *************** *** 43,48 **** --- 43,53 ---- #undef bool #endif + /* supply GvCV_set if it's missing - ppport.h doesn't supply it, unfortunately */ + #ifndef GvCV_set + #define GvCV_set(gv, cv) (GvCV(gv) = cv) + #endif + /* routines from spi_internal.c */ int spi_DEBUG(void); int spi_LOG(void);