This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
lval substr() coredumps with refs (with patch)
substr() in lvalue context interacts in buggy fashion with SVs that
are !SvOK. This manifests itself with lexicals that have a REFCNT of
1, since these are merely "cleared in place" by setting SvOK_off.
substr() coredumps with a target that is a ref, when it is used in
an lvalue context.
The patch below corrects the problem by stringifying the reference
first (and emitting a warning when appropriate).