John Peacock <firstname.lastname@example.org> wrote: > Nicholas Clark wrote: > > Both SvPV macros are assigning to PL_na. Using PL_na in the first place isn't > > a great idea, as it's in thread local storage on a threaded perl. > > > > - Perl_croak(aTHX_ "%s version %s required--this is only version %s", > - HvNAME(pkg), SvPV(req,PL_na), SvPV(sv,PL_na)); > + Perl_croak(aTHX_ "%s version %_ required--this is only version %_", > + HvNAME(pkg), req, sv); > > What is %_ ??? Does that force a stringification like SvPV does? I originally > had SvPV_nolen, but that isn't supported in Perl < 5.6.0 so I reverted to what > you see above. %_ : placeholder for an SV that will get stringified. See sv_vcatpvfn() in sv.c. I can't find doc on this in the perl sources, but there a small paragraph about it in the Cozens & Jenness.