--- a/src/pl/plperl/plperl.c +++ b/src/pl/plperl/plperl.c @@ -926,7 +926,7 @@ 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 */ + GvCV_set(sv, NULL); /* prevent call via GV */ } hv_clear(stash); --- a/src/pl/plperl/plperl.h +++ b/src/pl/plperl/plperl.h @@ -49,6 +49,11 @@ (U32)HeKUTF8(he)) #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 + /* declare routines from plperl.c for access by .xs files */ HV *plperl_spi_exec(char *, int); void plperl_return_next(SV *);