| line |
true |
false |
branch |
|
117
|
0 |
1 |
if (!sv) { |
|
119
|
0 |
0 |
if (c != '"') { |
|
126
|
1 |
0 |
if (c != '"') { |
|
131
|
1 |
0 |
if (line) { |
|
140
|
7 |
482 |
if (d - ds > 1) { |
|
149
|
16 |
0 |
if (!c || !p) { |
|
|
0 |
16 |
if (!c || !p) { |
|
157
|
22 |
64 |
*pop = !*pop ? str : newBINOP(OP_CONCAT, 0, *pop, str); |
|
179
|
2 |
75 |
if (lex_bufutf8()) { |
|
189
|
1 |
455 |
if (c == -1) { |
|
195
|
111 |
344 |
if ( |
|
196
|
53 |
58 |
b == '\n' && |
|
197
|
49 |
4 |
delim_str && |
|
199
|
20 |
29 |
(STRLEN)(PL_parser->bufend - PL_parser->bufptr) >= SvCUR(delim_str) && |
|
201
|
0 |
20 |
memcmp(PL_parser->bufptr, SvPVX(delim_str), SvCUR(delim_str)) == 0) && ( |
|
202
|
0 |
0 |
!( |
|
205
|
0 |
20 |
) || |
|
206
|
0 |
0 |
(elim++, PL_parser->bufptr[SvCUR(delim_str)] == '\n') || ( |
|
208
|
0 |
0 |
PL_parser->bufptr[SvCUR(delim_str)] == '\r' && |
|
|
0 |
0 |
PL_parser->bufptr[SvCUR(delim_str)] == '\r' && |
|
218
|
37 |
398 |
if ( |
|
219
|
227 |
208 |
!(spec->flags & FLAG_HASH_INTERPOLATE) |
|
221
|
13 |
0 |
: c == '#' && |
|
222
|
11 |
2 |
spec->delim_stop != '#' && |
|
223
|
13 |
195 |
PL_parser->bufptr[1] == '{' && |
|
231
|
23 |
14 |
if (SvCUR(sv)) { |
|
235
|
0 |
23 |
if (lex_bufutf8()) { |
|
240
|
26 |
11 |
if (*gen_sentinel) { |
|
252
|
150 |
248 |
if (pnesting && c == spec->delim_start) { |
|
|
5 |
145 |
if (pnesting && c == spec->delim_start) { |
|
254
|
196 |
197 |
} else if (have_delim_stop && c == spec->delim_stop) { |
|
|
37 |
159 |
} else if (have_delim_stop && c == spec->delim_stop) { |
|
255
|
21 |
16 |
if (!pnesting || *pnesting == 0) { |
|
|
16 |
5 |
if (!pnesting || *pnesting == 0) { |
|
256
|
8 |
24 |
if (spec->flags & FLAG_STOP_AT_SPACE) { |
|
264
|
99 |
257 |
} else if ((spec->flags & FLAG_STOP_AT_SPACE) && isSPACE(c)) { |
|
|
99 |
0 |
} else if ((spec->flags & FLAG_STOP_AT_SPACE) && isSPACE(c)) { |
|
|
76 |
23 |
} else if ((spec->flags & FLAG_STOP_AT_SPACE) && isSPACE(c)) { |
|
266
|
41 |
292 |
} else if (c == '\\' && (spec->flags & FLAG_BACKSLASH_ESCAPE)) { |
|
|
34 |
7 |
} else if (c == '\\' && (spec->flags & FLAG_BACKSLASH_ESCAPE)) { |
|
284
|
0 |
0 |
if (c == -1) { |
|
287
|
0 |
0 |
c = toUPPER(c) ^ 64; |
|
|
0 |
0 |
c = toUPPER(c) ^ 64; |
|
292
|
0 |
0 |
if (c != '{') { |
|
296
|
0 |
0 |
while (c = lex_peek_unichar(0), c >= '0' && c <= '7') { |
|
|
0 |
0 |
while (c = lex_peek_unichar(0), c >= '0' && c <= '7') { |
|
|
0 |
0 |
while (c = lex_peek_unichar(0), c >= '0' && c <= '7') { |
|
300
|
0 |
0 |
if (c != '}') { |
|
309
|
2 |
4 |
if (c == '{') { |
|
311
|
10 |
0 |
while (c = lex_peek_unichar(0), isXDIGIT(c)) { |
|
|
8 |
2 |
while (c = lex_peek_unichar(0), isXDIGIT(c)) { |
|
|
8 |
2 |
while (c = lex_peek_unichar(0), isXDIGIT(c)) { |
|
315
|
0 |
2 |
if (c != '}') { |
|
320
|
4 |
0 |
} else if (isXDIGIT(c)) { |
|
|
4 |
0 |
} else if (isXDIGIT(c)) { |
|
323
|
4 |
0 |
if (isXDIGIT(c)) { |
|
|
4 |
0 |
if (isXDIGIT(c)) { |
|
339
|
0 |
6 |
if (c != '{') { |
|
344
|
0 |
6 |
if (lex_bufutf8()) { |
|
348
|
81 |
6 |
while ((c = lex_read_unichar(0)) != '}') { |
|
349
|
0 |
81 |
if (c == -1) { |
|
355
|
6 |
0 |
n_ptr = SvPV(name, n_len); |
|
357
|
6 |
0 |
if (n_len >= 2 && n_ptr[0] == 'U' && n_ptr[1] == '+') { |
|
|
2 |
4 |
if (n_len >= 2 && n_ptr[0] == 'U' && n_ptr[1] == '+') { |
|
|
2 |
0 |
if (n_len >= 2 && n_ptr[0] == 'U' && n_ptr[1] == '+') { |
|
366
|
2 |
0 |
if (x_len == 0 || x_len != n_len) { |
|
|
0 |
2 |
if (x_len == 0 || x_len != n_len) { |
|
378
|
4 |
0 |
if ( |
|
379
|
4 |
0 |
!(table = GvHV(PL_hintgv)) || |
|
380
|
3 |
1 |
!(PL_hints & HINT_LOCALIZE_HH) || |
|
381
|
0 |
3 |
!(cvp = hv_fetchs(table, "charnames", FALSE)) || |
|
382
|
0 |
0 |
!SvOK(*cvp) |
|
|
0 |
0 |
!SvOK(*cvp) |
|
391
|
4 |
0 |
if ( |
|
392
|
0 |
4 |
!(table = GvHV(PL_hintgv)) || |
|
399
|
4 |
0 |
if ( |
|
400
|
0 |
4 |
!(cvp = hv_fetchs(table, "charnames", FALSE)) || |
|
401
|
0 |
0 |
!SvOK(*cvp) |
|
|
0 |
0 |
!SvOK(*cvp) |
|
411
|
0 |
4 |
PUSHSTACKi(PERLSI_OVERLOAD); |
|
415
|
0 |
4 |
PUSHMARK(SP); |
|
416
|
0 |
4 |
EXTEND(SP, 1); |
|
427
|
4 |
0 |
FREETMPS; |
|
430
|
0 |
4 |
POPSTACK; |
|
432
|
1 |
3 |
if (!SvOK(r)) { |
|
|
1 |
0 |
if (!SvOK(r)) { |
|
|
1 |
0 |
if (!SvOK(r)) { |
|
447
|
8 |
7 |
if (c >= '0' && c <= '7') { |
|
|
0 |
8 |
if (c >= '0' && c <= '7') { |
|
450
|
0 |
0 |
if (c >= '0' && c <= '7') { |
|
|
0 |
0 |
if (c >= '0' && c <= '7') { |
|
454
|
0 |
0 |
if (c >= '0' && c <= '7') { |
|
|
0 |
0 |
if (c >= '0' && c <= '7') { |
|
468
|
12 |
63 |
if (SvCUR(sv) || !*gen_sentinel) { |
|
|
0 |
12 |
if (SvCUR(sv) || !*gen_sentinel) { |
|
476
|
47 |
28 |
if (gen->op_type == OP_CONST) { |
|
478
|
5 |
23 |
} else if (gen->op_type != OP_CONCAT) { |
|
494
|
25 |
0 |
if (c != '#') { |
|
497
|
0 |
25 |
if (c == -1) { |
|
506
|
24 |
1 |
c == '(' ? ')' : |
|
507
|
23 |
1 |
c == '[' ? ']' : |
|
508
|
18 |
5 |
c == '{' ? '}' : |
|
509
|
16 |
2 |
c == '<' ? '>' : |
|
519
|
9 |
16 |
*op_ptr = parse_qctail(aTHX_ &spec, delim_start == delim_stop ? NULL : &nesting); |
|
528
|
15 |
0 |
if (c != '#') { |
|
531
|
0 |
15 |
if (c == -1) { |
|
540
|
8 |
7 |
c == '(' ? ')' : |
|
541
|
7 |
1 |
c == '[' ? ']' : |
|
542
|
4 |
3 |
c == '{' ? '}' : |
|
543
|
4 |
0 |
c == '<' ? '>' : |
|
560
|
63 |
0 |
while (c = lex_peek_unichar(0), c != -1 && isSPACE(c)) { |
|
|
63 |
0 |
while (c = lex_peek_unichar(0), c != -1 && isSPACE(c)) { |
|
|
17 |
46 |
while (c = lex_peek_unichar(0), c != -1 && isSPACE(c)) { |
|
|
17 |
46 |
while (c = lex_peek_unichar(0), c != -1 && isSPACE(c)) { |
|
563
|
15 |
31 |
if (c == delim_stop && nesting == 0) { |
|
|
15 |
0 |
if (c == delim_stop && nesting == 0) { |
|
567
|
27 |
4 |
cur = parse_qctail(aTHX_ &spec, delim_start == delim_stop ? NULL : &nesting); |
|
571
|
13 |
2 |
if (*gen_sentinel) { |
|
587
|
0 |
21 |
if (!strnEQ(PL_parser->bufptr, "<<", 2)) { |
|
595
|
10 |
11 |
if (!(c == '\'' || c == '"')) { |
|
|
0 |
10 |
if (!(c == '\'' || c == '"')) { |
|
602
|
0 |
21 |
if (lex_bufutf8()) { |
|
608
|
0 |
90 |
if (c == -1) { |
|
610
|
0 |
0 |
croak("Can't find string terminator %s anywhere before EOF", qdelim == '"' ? "'\"'" : "\"'\""); |
|
612
|
21 |
69 |
if (c == qdelim) { |
|
620
|
21 |
0 |
if (fin) { |
|
626
|
0 |
21 |
leftover = sv_2mortal(newSVpvn_utf8(PL_parser->bufptr, fin - PL_parser->bufptr, lex_bufutf8())); |
|
634
|
10 |
11 |
FLAG_HASH_INTERPOLATE | (qdelim == '"' ? FLAG_BACKSLASH_ESCAPE : 0) |
|
644
|
0 |
64 |
if (!(hints = GvHV(PL_hintgv))) { |
|
647
|
3 |
61 |
if (!(psv = hv_fetch(hints, hk_ptr, hk_len, 0))) { |
|
651
|
61 |
0 |
return SvTRUE(sv); |
|
|
0 |
61 |
return SvTRUE(sv); |
|
|
0 |
0 |
return SvTRUE(sv); |
|
|
0 |
61 |
return SvTRUE(sv); |
|
|
0 |
0 |
return SvTRUE(sv); |
|
|
0 |
0 |
return SvTRUE(sv); |
|
|
0 |
61 |
return SvTRUE(sv); |
|
|
0 |
0 |
return SvTRUE(sv); |
|
|
0 |
0 |
return SvTRUE(sv); |
|
|
0 |
0 |
return SvTRUE(sv); |
|
|
0 |
0 |
return SvTRUE(sv); |
|
|
0 |
0 |
return SvTRUE(sv); |
|
|
61 |
0 |
return SvTRUE(sv); |
|
|
61 |
0 |
return SvTRUE(sv); |
|
|
0 |
61 |
return SvTRUE(sv); |
|
|
0 |
0 |
return SvTRUE(sv); |
|
|
0 |
0 |
return SvTRUE(sv); |
|
|
61 |
0 |
return SvTRUE(sv); |
|
|
0 |
0 |
return SvTRUE(sv); |
|
658
|
3994 |
7756 |
if (keyword_len == 2 && keyword_ptr[0] == 'q' && keyword_ptr[1] == 'c' && qc_enableds(HINTK_QC)) { |
|
|
293 |
3701 |
if (keyword_len == 2 && keyword_ptr[0] == 'q' && keyword_ptr[1] == 'c' && qc_enableds(HINTK_QC)) { |
|
|
28 |
265 |
if (keyword_len == 2 && keyword_ptr[0] == 'q' && keyword_ptr[1] == 'c' && qc_enableds(HINTK_QC)) { |
|
|
25 |
3 |
if (keyword_len == 2 && keyword_ptr[0] == 'q' && keyword_ptr[1] == 'c' && qc_enableds(HINTK_QC)) { |
|
663
|
1075 |
10650 |
} else if (keyword_len == 5 && memcmp(keyword_ptr, "qc_to", 5) == 0 && qc_enableds(HINTK_QC_TO)) { |
|
|
21 |
1054 |
} else if (keyword_len == 5 && memcmp(keyword_ptr, "qc_to", 5) == 0 && qc_enableds(HINTK_QC_TO)) { |
|
|
21 |
0 |
} else if (keyword_len == 5 && memcmp(keyword_ptr, "qc_to", 5) == 0 && qc_enableds(HINTK_QC_TO)) { |
|
668
|
2424 |
9280 |
} else if (keyword_len == 3 && memcmp(keyword_ptr, "qcw", 3) == 0 && qc_enableds(HINTK_QCW)) { |
|
|
15 |
2409 |
} else if (keyword_len == 3 && memcmp(keyword_ptr, "qcw", 3) == 0 && qc_enableds(HINTK_QCW)) { |
|
|
15 |
0 |
} else if (keyword_len == 3 && memcmp(keyword_ptr, "qcw", 3) == 0 && qc_enableds(HINTK_QCW)) { |