diff options
author | Father Chrysostomos <sprout@cpan.org> | 2010-10-18 17:59:50 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2010-10-21 05:53:40 -0700 |
commit | 1e2159890b8bf881fbc717f671f87ba2dec1da46 (patch) | |
tree | 13eb0b5586141bec3d77958ac79459837b8d74be /op.c | |
parent | a7aaec61655ef1580eb319cf234db0f3d5c9981e (diff) | |
download | perl-1e2159890b8bf881fbc717f671f87ba2dec1da46.tar.gz |
[perl #78072] use re '/xism';
Diffstat (limited to 'op.c')
-rw-r--r-- | op.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -3734,6 +3734,19 @@ Perl_newPMOP(pTHX_ I32 type, I32 flags) else if ((! (PL_hints & HINT_BYTES)) && (PL_hints & HINT_UNI_8_BIT)) { pmop->op_pmflags |= RXf_PMf_UNICODE; } + if (PL_hints & HINT_RE_FLAGS) { + SV *reflags = Perl_refcounted_he_fetch(aTHX_ + PL_compiling.cop_hints_hash, 0, STR_WITH_LEN("reflags"), 0, 0 + ); + if (reflags && SvOK(reflags)) pmop->op_pmflags |= SvIV(reflags); + reflags = Perl_refcounted_he_fetch(aTHX_ + PL_compiling.cop_hints_hash, 0, STR_WITH_LEN("reflags_dul"), 0, 0 + ); + if (reflags && SvOK(reflags)) { + pmop->op_pmflags &= ~(RXf_PMf_LOCALE|RXf_PMf_UNICODE); + pmop->op_pmflags |= SvIV(reflags); + } + } #ifdef USE_ITHREADS |