|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
75
 | 
 0  | 
 12  | 
   if (SvTYPE(sv) == SVt_PVGV) {  | 
 
| 
78
 | 
 0  | 
 12  | 
   if (!SvOK(sv)) {  | 
 
| 
 | 
 0  | 
 0  | 
   if (!SvOK(sv)) {  | 
 
| 
 | 
 0  | 
 0  | 
   if (!SvOK(sv)) {  | 
 
| 
81
 | 
 9  | 
 3  | 
   if (!SvROK(sv)) {  | 
 
| 
123
 | 
 3  | 
 0  | 
   if (type) {  | 
 
| 
124
 | 
 0  | 
 3  | 
     if (sv_isobject(sv)) return type | OBJECT;  | 
 
| 
135
 | 
 12  | 
 0  | 
   if (GvHV(PL_hintgv) && (PL_hints & HINT_LOCALIZE_HH) == HINT_LOCALIZE_HH) {  | 
 
| 
 | 
 6  | 
 6  | 
   if (GvHV(PL_hintgv) && (PL_hints & HINT_LOCALIZE_HH) == HINT_LOCALIZE_HH) {  | 
 
| 
137
 | 
 3  | 
 3  | 
     if (he != NULL) {  | 
 
| 
139
 | 
 3  | 
 0  | 
       if (val != &PL_sv_placeholder) {  | 
 
| 
140
 | 
 3  | 
 0  | 
         return (int)SvIV(val);  | 
 
| 
162
 | 
 0  | 
 6  | 
     bool                      is_utf8 = DO_UTF8(pattern);  | 
 
| 
 | 
 0  | 
 0  | 
     bool                      is_utf8 = DO_UTF8(pattern);  | 
 
| 
179
 | 
 0  | 
 6  | 
     if (isDebug) {  | 
 
| 
188
 | 
 0  | 
 6  | 
     if (isDebug) {  | 
 
| 
197
 | 
 3  | 
 3  | 
     if (pattern_type == SCALAR) {  | 
 
| 
199
 | 
 0  | 
 3  | 
       if (isDebug) {  | 
 
| 
205
 | 
 1  | 
 2  | 
     } else if (pattern_type == ARRAYREF) {  | 
 
| 
210
 | 
 0  | 
 1  | 
       if (isDebug) {  | 
 
| 
214
 | 
 0  | 
 1  | 
       if (av_len(av) < 1) {  | 
 
| 
220
 | 
 1  | 
 0  | 
       if (a_pattern == NULL || get_type(aTHX_ (SV *)*a_pattern) != SCALAR) {  | 
 
| 
 | 
 0  | 
 1  | 
       if (a_pattern == NULL || get_type(aTHX_ (SV *)*a_pattern) != SCALAR) {  | 
 
| 
223
 | 
 1  | 
 0  | 
       if (a_syntax == NULL || get_type(aTHX_ (SV *)*a_syntax) != SCALAR) {  | 
 
| 
 | 
 0  | 
 1  | 
       if (a_syntax == NULL || get_type(aTHX_ (SV *)*a_syntax) != SCALAR) {  | 
 
| 
230
 | 
 2  | 
 0  | 
     } else if (pattern_type == HASHREF) {  | 
 
| 
235
 | 
 0  | 
 2  | 
       if (isDebug) {  | 
 
| 
239
 | 
 2  | 
 0  | 
       if (h_pattern == NULL || get_type(aTHX_ (SV *)*h_pattern) != SCALAR) {  | 
 
| 
 | 
 0  | 
 2  | 
       if (h_pattern == NULL || get_type(aTHX_ (SV *)*h_pattern) != SCALAR) {  | 
 
| 
242
 | 
 2  | 
 0  | 
       if (h_syntax == NULL || get_type(aTHX_ (SV *)*h_syntax) != SCALAR) {  | 
 
| 
 | 
 0  | 
 2  | 
       if (h_syntax == NULL || get_type(aTHX_ (SV *)*h_syntax) != SCALAR) {  | 
 
| 
253
 | 
 6  | 
 0  | 
     exp = SvPV(sv_pattern, plen);  | 
 
| 
261
 | 
 0  | 
 6  | 
       if (flags & RXf_SPLIT && plen == 1 && exp[0] == ' ') {  | 
 
| 
 | 
 0  | 
 0  | 
       if (flags & RXf_SPLIT && plen == 1 && exp[0] == ' ') {  | 
 
| 
 | 
 0  | 
 0  | 
       if (flags & RXf_SPLIT && plen == 1 && exp[0] == ' ') {  | 
 
| 
262
 | 
 0  | 
 0  | 
         if (isDebug) {  | 
 
| 
271
 | 
 0  | 
 6  | 
       if (plen == 0) {  | 
 
| 
272
 | 
 0  | 
 0  | 
         if (isDebug) {  | 
 
| 
281
 | 
 0  | 
 6  | 
       if (plen == 1 && exp[0] == '^') {  | 
 
| 
 | 
 0  | 
 0  | 
       if (plen == 1 && exp[0] == '^') {  | 
 
| 
282
 | 
 0  | 
 0  | 
         if (isDebug) {  | 
 
| 
291
 | 
 0  | 
 6  | 
       if (plen == 3 && strnEQ("\\s+", exp, 3)) {  | 
 
| 
 | 
 0  | 
 0  | 
       if (plen == 3 && strnEQ("\\s+", exp, 3)) {  | 
 
| 
292
 | 
 0  | 
 0  | 
         if (isDebug) {  | 
 
| 
307
 | 
 3  | 
 3  | 
     ri->regex.syntax           = (sv_syntax != NULL) ? (int)SvUV(sv_syntax) : defaultSyntax;  | 
 
| 
 | 
 0  | 
 3  | 
     ri->regex.syntax           = (sv_syntax != NULL) ? (int)SvUV(sv_syntax) : defaultSyntax;  | 
 
| 
322
 | 
 0  | 
 6  | 
     if ((flags & RXf_PMf_MULTILINE) == RXf_PMf_MULTILINE) {  | 
 
| 
323
 | 
 0  | 
 0  | 
       if (isDebug) {  | 
 
| 
328
 | 
 0  | 
 6  | 
       if (isDebug) {  | 
 
| 
335
 | 
 0  | 
 6  | 
     if ((flags & RXf_PMf_SINGLELINE) == RXf_PMf_SINGLELINE) {  | 
 
| 
336
 | 
 0  | 
 0  | 
       if (isDebug) {  | 
 
| 
341
 | 
 0  | 
 6  | 
       if (isDebug) {  | 
 
| 
348
 | 
 0  | 
 6  | 
     if ((flags & RXf_PMf_FOLD) == RXf_PMf_FOLD) {  | 
 
| 
349
 | 
 0  | 
 0  | 
       if (isDebug) {  | 
 
| 
354
 | 
 0  | 
 6  | 
       if (isDebug) {  | 
 
| 
361
 | 
 0  | 
 6  | 
     if ((flags & RXf_PMf_EXTENDED) == RXf_PMf_EXTENDED) {  | 
 
| 
363
 | 
 0  | 
 0  | 
       if (isDebug) {  | 
 
| 
371
 | 
 1  | 
 5  | 
     if ((flags & RXf_PMf_KEEPCOPY) == RXf_PMf_KEEPCOPY) {  | 
 
| 
372
 | 
 0  | 
 1  | 
       if (isDebug) {  | 
 
| 
376
 | 
 0  | 
 5  | 
       if (isDebug) {  | 
 
| 
401
 | 
 0  | 
 6  | 
     if (isDebug) {  | 
 
| 
406
 | 
 0  | 
 6  | 
     if (ri->regex.newline_anchor == 1) {  | 
 
| 
409
 | 
 0  | 
 6  | 
     if ((ri->regex.syntax & RE_DOT_NEWLINE) == RE_DOT_NEWLINE) {  | 
 
| 
412
 | 
 1  | 
 5  | 
     if ((ri->regex.syntax & RE_ICASE) == RE_ICASE) {  | 
 
| 
430
 | 
 0  | 
 6  | 
     if (isDebug) {  | 
 
| 
435
 | 
 0  | 
 6  | 
     if (isDebug) {  | 
 
| 
441
 | 
 0  | 
 6  | 
     if (ret != _REG_NOERROR) {  | 
 
| 
453
 | 
 0  | 
 6  | 
     if (isDebug) {  | 
 
| 
462
 | 
 0  | 
 6  | 
     Newxz(REGEXP_OFFS_GET(r), REGEXP_NPARENS_GET(r) + 1, regexp_paren_pair);  | 
 
| 
464
 | 
 0  | 
 6  | 
     if (isDebug) {  | 
 
| 
492
 | 
 0  | 
 12  | 
   if (isDebug) {  | 
 
| 
496
 | 
 12  | 
 0  | 
   if ((flags & REXEC_COPY_STR) == REXEC_COPY_STR) {  | 
 
| 
502
 | 
 12  | 
 0  | 
     short canCow = SvCANCOW(sv);  | 
 
| 
 | 
 12  | 
 0  | 
     short canCow = SvCANCOW(sv);  | 
 
| 
 | 
 12  | 
 0  | 
     short canCow = SvCANCOW(sv);  | 
 
| 
 | 
 0  | 
 0  | 
     short canCow = SvCANCOW(sv);  | 
 
| 
 | 
 0  | 
 0  | 
     short canCow = SvCANCOW(sv);  | 
 
| 
509
 | 
 12  | 
 0  | 
     if (canCow != 0) {  | 
 
| 
511
 | 
 7  | 
 5  | 
       if ((REGEXP_SAVED_COPY_GET(r) != NULL)  | 
 
| 
512
 | 
 7  | 
 0  | 
           && SvIsCOW(REGEXP_SAVED_COPY_GET(r))  | 
 
| 
513
 | 
 7  | 
 0  | 
           && SvPOKp(REGEXP_SAVED_COPY_GET(r))  | 
 
| 
514
 | 
 7  | 
 0  | 
           && SvIsCOW(sv)  | 
 
| 
515
 | 
 7  | 
 0  | 
           && SvPOKp(sv)  | 
 
| 
516
 | 
 7  | 
 0  | 
           && (SvPVX(sv) == SvPVX(REGEXP_SAVED_COPY_GET(r)))) {  | 
 
| 
518
 | 
 0  | 
 7  | 
         if (isDebug) {  | 
 
| 
521
 | 
 0  | 
 7  | 
         if (RX_MATCH_COPIED(rx)) {  | 
 
| 
528
 | 
 0  | 
 5  | 
         if (isDebug) {  | 
 
| 
531
 | 
 0  | 
 5  | 
         RX_MATCH_COPY_FREE(rx);  | 
 
| 
 | 
 0  | 
 0  | 
         RX_MATCH_COPY_FREE(rx);  | 
 
| 
 | 
 0  | 
 5  | 
         RX_MATCH_COPY_FREE(rx);  | 
 
| 
538
 | 
 0  | 
 12  | 
       if (isDebug) {  | 
 
| 
633
 | 
 0  | 
 0  | 
         if (RX_MATCH_COPIED(rx)) {  | 
 
| 
634
 | 
 0  | 
 0  | 
           if (sublen > REGEXP_SUBLEN_GET(r))  | 
 
| 
645
 | 
 0  | 
 0  | 
         if (isDebug) {  | 
 
| 
679
 | 
 0  | 
 0  | 
       if (REGEXP_SUBOFFSET_GET(r) != 0 && utf8_target != 0) {  | 
 
| 
 | 
 0  | 
 0  | 
       if (REGEXP_SUBOFFSET_GET(r) != 0 && utf8_target != 0) {  | 
 
| 
695
 | 
 0  | 
 0  | 
         if (SvPOKp(sv) && SvPVX(sv) == strbeg)  | 
 
| 
 | 
 0  | 
 0  | 
         if (SvPOKp(sv) && SvPVX(sv) == strbeg)  | 
 
| 
703
 | 
 0  | 
 0  | 
       if (isDebug) {  | 
 
| 
710
 | 
 0  | 
 0  | 
     RX_MATCH_COPY_FREE(rx);  | 
 
| 
 | 
 0  | 
 0  | 
     RX_MATCH_COPY_FREE(rx);  | 
 
| 
 | 
 0  | 
 0  | 
     RX_MATCH_COPY_FREE(rx);  | 
 
| 
717
 | 
 0  | 
 12  | 
   if (isDebug) {  | 
 
| 
738
 | 
 10  | 
 4  | 
     short               utf8_target = DO_UTF8(sv) ? 1 : 0;  | 
 
| 
 | 
 10  | 
 0  | 
     short               utf8_target = DO_UTF8(sv) ? 1 : 0;  | 
 
| 
744
 | 
 0  | 
 14  | 
     if (isDebug) {  | 
 
| 
750
 | 
 0  | 
 14  | 
     if (isDebug) {  | 
 
| 
755
 | 
 0  | 
 14  | 
     if (rc <= -2) {  | 
 
| 
757
 | 
 2  | 
 12  | 
     } else if (rc == -1) {  | 
 
| 
758
 | 
 0  | 
 2  | 
       if (isDebug) {  | 
 
| 
765
 | 
 9  | 
 3  | 
     RX_MATCH_UTF8_set(rx, utf8_target);  | 
 
| 
772
 | 
 25  | 
 12  | 
     for (i = 0; i < REGEXP_NPARENS_GET(r) + 1; i++) {  | 
 
| 
773
 | 
 0  | 
 25  | 
         if (isDebug) {  | 
 
| 
783
 | 
 12  | 
 0  | 
     if ((flags & REXEC_NOT_FIRST) != REXEC_NOT_FIRST) {  | 
 
| 
838
 | 
 12  | 
 0  | 
     if (regs.start != NULL) {  | 
 
| 
841
 | 
 12  | 
 0  | 
     if (regs.end != NULL) {  | 
 
| 
845
 | 
 0  | 
 12  | 
     if (isDebug) {  | 
 
| 
877
 | 
 0  | 
 0  | 
   if (isDebug) {  | 
 
| 
899
 | 
 0  | 
 0  | 
   if (isDebug) {  | 
 
| 
919
 | 
 0  | 
 6  | 
   if (isDebug) {  | 
 
| 
924
 | 
 0  | 
 6  | 
   if (isDebug) {  | 
 
| 
928
 | 
 3  | 
 3  | 
   if (ri->sv_syntax != NULL) {  | 
 
| 
929
 | 
 0  | 
 3  | 
     if (isDebug) {  | 
 
| 
935
 | 
 0  | 
 6  | 
   if (isDebug) {  | 
 
| 
940
 | 
 0  | 
 6  | 
   if (isDebug) {  | 
 
| 
945
 | 
 0  | 
 6  | 
   if (isDebug) {  | 
 
| 
965
 | 
 0  | 
 2  | 
   if (isDebug) {  | 
 
| 
972
 | 
 0  | 
 2  | 
   if (isDebug) {  | 
 
| 
1126
 | 
 0  | 
 12  | 
     XPUSHs(sv_2mortal(newSViv(PTR2IV(&engine_GNU))));  | 
 
| 
1132
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_SYNTAX_AWK)));  | 
 
| 
1138
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_SYNTAX_ED)));  | 
 
| 
1144
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_SYNTAX_EGREP)));  | 
 
| 
1150
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_SYNTAX_EMACS)));  | 
 
| 
1156
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_SYNTAX_GNU_AWK)));  | 
 
| 
1162
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_SYNTAX_GREP)));  | 
 
| 
1168
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_SYNTAX_POSIX_AWK)));  | 
 
| 
1174
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_SYNTAX_POSIX_BASIC)));  | 
 
| 
1180
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_SYNTAX_POSIX_EGREP)));  | 
 
| 
1186
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_SYNTAX_POSIX_EXTENDED)));  | 
 
| 
1192
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_SYNTAX_POSIX_MINIMAL_BASIC)));  | 
 
| 
1198
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_SYNTAX_POSIX_MINIMAL_EXTENDED)));  | 
 
| 
1204
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_SYNTAX_SED)));  | 
 
| 
1210
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_BACKSLASH_ESCAPE_IN_LISTS)));  | 
 
| 
1216
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_BK_PLUS_QM)));  | 
 
| 
1222
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_CHAR_CLASSES)));  | 
 
| 
1228
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_CONTEXT_INDEP_ANCHORS)));  | 
 
| 
1234
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_CONTEXT_INDEP_OPS)));  | 
 
| 
1240
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_CONTEXT_INVALID_OPS)));  | 
 
| 
1246
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_DOT_NEWLINE)));  | 
 
| 
1252
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_DOT_NOT_NULL)));  | 
 
| 
1258
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_HAT_LISTS_NOT_NEWLINE)));  | 
 
| 
1264
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_INTERVALS)));  | 
 
| 
1270
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_LIMITED_OPS)));  | 
 
| 
1276
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_NEWLINE_ALT)));  | 
 
| 
1282
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_NO_BK_BRACES)));  | 
 
| 
1288
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_NO_BK_PARENS)));  | 
 
| 
1294
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_NO_BK_REFS)));  | 
 
| 
1300
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_NO_BK_VBAR)));  | 
 
| 
1306
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_NO_EMPTY_RANGES)));  | 
 
| 
1312
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_UNMATCHED_RIGHT_PAREN_ORD)));  | 
 
| 
1318
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_NO_POSIX_BACKTRACKING)));  | 
 
| 
1324
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_NO_GNU_OPS)));  | 
 
| 
1330
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_DEBUG)));  | 
 
| 
1336
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_INVALID_INTERVAL_ORD)));  | 
 
| 
1342
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_ICASE)));  | 
 
| 
1348
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_CARET_ANCHORS_HERE)));  | 
 
| 
1354
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_CONTEXT_INVALID_DUP)));  | 
 
| 
1360
 | 
 0  | 
 2  | 
     XPUSHs(sv_2mortal(newSViv(RE_NO_SUB)));  |