Condition Coverage

blib/lib/Perl/Tidy/Tokenizer.pm
Criterion Covered Total %
condition 755 1199 62.9


and 3 conditions

line !l l&&!r l&&r condition
423 657 0 0 defined $str and length $str
622 659 0 0 $rOpts->{'code-skipping-from-start'} && $rOpts_code_skipping
670 2 656 1 defined $logger_object && $logger_object->get_save_logfile
759 2 656 1 @{$rinput_lines;} and not $source_string =~ /\n$/
945 659 0 0 $self->[10] && $self->[9]
971 0 0 0 $maxle >= 0 and $level_diff > $maxle
993 658 1 0 $rOpts_look_for_hash_bang and not $self->[31]
1078 659 0 0 $maxue > 0 and $ue_count > $maxue
1112 646 10 3 @{$rformat_skipping_list;} and $rformat_skipping_list->[0][0] == -1
1191 0 0 0 $min_lev < 0 and $lev >= 0
1314 659 0 0 $last_nonblank_type eq "k" and $is_binary_or_unary_keyword{$last_nonblank_token}
1421 78 0 18 $ix > 0 and $here_quote_character =~ /^\s/
1503 51 0 0 $input_line =~ /^\#\!.*perl\b/ and not $self->[5]
1551 1 0 0 $input_line =~ /^=(\w+)\b/ and $1 ne "cut"
1570 49 0 7 $input_line =~ /^=(\w+)\b/ and $1 ne "cut"
1586 628 8296 16 not $self->[31] and substr($input_line, 0, 2) eq "#!"
8924 0 16 not $self->[31] and substr($input_line, 0, 2) eq "#!" and $input_line =~ /^\#\!.*perl\b/
1601 2 0 0 $last_nonblank_block_type && $last_nonblank_block_type eq 'BEGIN'
14 0 2 $input_line_number > 1 and not $last_nonblank_block_type && $last_nonblank_block_type eq 'BEGIN'
14 1 1 $input_line_number > 1 and not $last_nonblank_block_type && $last_nonblank_block_type eq 'BEGIN' and not $rOpts_look_for_hash_bang
1 0 1 $input_line_number > 1 and not $last_nonblank_block_type && $last_nonblank_block_type eq 'BEGIN' and not $rOpts_look_for_hash_bang and $input_line =~ /^\#\!(\s+)?(\S+)?perl/
1650 8919 1 5 $rOpts_look_for_hash_bang and not $self->[31]
1659 8278 642 0 $input_line_number == 1 and $input_line =~ /^\s*\:\s*\#/
1799 8648 184 63 $self->[16] and $self->[18] < 0
8586 184 62 $self->[18] >= 0 and not $self->[16]
1856 328 641 14 $i == 1 and $line =~ /^\#\!/
1868 0 310 0 $rOpts_code_skipping and $line =~ /$code_skipping_pattern_begin/
1940 643 0 1 $3 and $rOpts_outdent_labels
643 0 1 $3 and $rOpts_outdent_labels and $rOpts_continuation_indentation > 0
2348 0 0 8 $pretoken and length $pretoken > $numc
0 0 8 $pretoken and length $pretoken > $numc and substr($pretoken, $numc) =~ /^(\d*)(.*)$/
2618 0 0 3 $i > 0 and $$rtokens[$i - 1] eq "^"
0 0 3 $i > 0 and $$rtokens[$i - 1] eq "^" and $self->split_pretoken(1)
2684 0 4 5723 not $id_scan_state and $i_plus_1 <= $max_token_index
4 5723 0 not $id_scan_state and $i_plus_1 <= $max_token_index and $fast_scan_context{$tok}
106 0 0 $tok eq "->" and $i < $max_token_index
106 0 0 $tok eq "->" and $i < $max_token_index and $rtokens->[$i_plus_1] eq '{' || $rtokens->[$i_plus_1] eq '['
2698 277 80 0 $rtoken_type->[$i_plus_1] eq "{" and $tok_begin eq '@' || $tok_begin eq '%'
2702 3076 3 2063 $rtoken_type->[$i_next] eq "b" and $i_next < $max_token_index
2709 108 8 5148 $pretype_next ne ":" and $pretype_next ne "'"
2824 12 0 2 $next_nonblank_token eq "\$" and new_statement_ok()
3016 2514 0 392 $typ_d ne "d" and $typ_d eq '+' || $typ_d eq '-'
0 0 392 $typ_d ne "d" and $typ_d eq '+' || $typ_d eq '-' and $i_d < $max_token_index
3027 302 52 2552 $typ_d eq "d" and $i_d == $max_token_index || $i_d < $max_token_index && $$rtoken_type[$i_d + 1] ne '.' && $$rtoken_type[$i_d + 1] ne 'w'
3092 1522 156 0 $last_nonblank_type eq "k" and $is_binary_or_unary_keyword{$last_nonblank_token}
850 828 0 $is_not_a_TERM_producer_type{$last_nonblank_type} and $is_binary_operator_type{$tok}
3113 0 0 1 $ct and $ct =~ /^sub\b/
3202 4838 0 41 $is_indirect_object_taker{$last_nonblank_token} and $last_nonblank_type eq "k"
3945 871 22 $last_nonblank_token eq "(" and $is_indirect_object_taker{$rparen_type->[$paren_depth]}
3233 2128 0 20 substr($statement_type, 0, 3) eq "sub" and $statement_type =~ /^sub\b/
3248 1478 647 3 $expecting == 1 and not $last_nonblank_token =~ /^(?:[\]\}\)\&]|\-\>)/
3278 3 0 0 $next_nonblank_token ne ")" and $next_nonblank_token ne "#"
3290 0 0 0 $i_tok > 0 and $last_nonblank_token =~ /^\$/
3396 0 0 2443 $type_lp and $type_lp eq "{"
3405 2412 1 30 substr($container_type, 0, 3) eq "sub" and $container_type =~ /^sub\b/
3413 62 17 0 $num_sc > 0 and $num_sc != 2
3427 3702 0 0 $last_nonblank_token eq "(" and $last_nonblank_type eq "{"
3463 1 0 34 $brace_depth == $rdepth_array->[2][0][$paren_depth] and $square_bracket_depth == $rdepth_array->[2][1][$paren_depth]
3532 213 12 0 $last_nonblank_type eq "k" and $is_keyword_rejecting_slash_as_pattern_delimiter{$last_nonblank_token}
3616 1982 48 0 $statement_type eq 'case' || $statement_type eq 'when' and $statement_type eq $last_nonblank_token
1729 0 0 $last_nonblank_token eq "qw" and $is_for_foreach{$want_paren}
3706 2068 0 8 $statement_type eq "field" and $last_last_nonblank_token eq "field"
2068 0 8 $statement_type eq "field" and $last_last_nonblank_token eq "field" and $last_nonblank_type eq "i"
0 0 8 $statement_type eq "field" and $last_last_nonblank_token eq "field" and $last_nonblank_type eq "i" and $last_last_nonblank_type eq "k"
3723 588 0 0 $statement_type eq "when" and $last_nonblank_type eq "i"
588 0 0 $statement_type eq "when" and $last_nonblank_type eq "i" and $last_last_nonblank_type eq "k"
0 0 0 $statement_type eq "when" and $last_nonblank_type eq "i" and $last_last_nonblank_type eq "k" and $i_tok == 0 || $$rtoken_type[$i_tok - 1] eq 'b'
3743 341 1139 0 $block_type and $ris_lexical_sub->{'911'}
1139 0 0 $block_type and $ris_lexical_sub->{'911'} and $last_nonblank_type eq "S"
1139 0 0 $block_type and $ris_lexical_sub->{'911'} and $last_nonblank_type eq "S" and substr($block_type, 0, 3) eq "sub"
3749 0 0 0 $block_type =~ /^sub $subname/ and $is_my_our_state{$last_last_nonblank_token}
3763 341 1103 36 $block_type and $last_nonblank_type eq "w"
1444 0 36 $block_type and $last_nonblank_type eq "w" and $last_nonblank_i >= 0
3820 2 0 944 not $self->[56]{$type_sequence} and $last_nonblank_type ne "%"
3839 2068 2 6 @{$self->[53];} and $self->[53][-1] eq $type_sequence
3914 192 0 1 $last_nonblank_type eq "k" and $is_keyword_rejecting_question_as_pattern_delimiter{$last_nonblank_token}
3986 242 6 6 $expecting == 0 and $next_type ne "b"
4044 274 11 0 $input_line_number == 1 and $last_nonblank_i == -1
262 0 1 $rparen_type->[$paren_depth] =~ /^sub\b/ and not is_balanced_closing_container(3)
245 0 17 $is_my_our_state{$statement_type} and $rcurrent_depth->[3] == 0
199 0 46 $is_case_default{$statement_type} and not is_balanced_closing_container(3)
4150 0 0 0 $next_type ne "b" and $next_type ne "("
4215 97 382 12 $expecting != 1 and $is_file_test_operator{$next_tok}
4258 0 0 5 $last_nonblank_token eq "{" and not $next_tok =~ /^\d/
0 0 5 $last_nonblank_token eq "{" and not $next_tok =~ /^\d/ and $next_tok =~ /^\w/
4281 5 0 0 $last_last_nonblank_type ne "t" and $last_last_nonblank_type ne "Z"
5 0 0 $last_last_nonblank_type ne "t" and $last_last_nonblank_type ne "Z" and $last_last_nonblank_token ne "\$#"
4711 2777 337 0 $expecting == 1 and $is_TERM_keyword{$tok}
4727 0 0 0 $last_nonblank_token eq ";" and $next_sequence_number == 2
4752 0 0 0 $last_nonblank_token eq ";" and $next_sequence_number == 2
4825 0 0 0 $tok eq 'qw' && ($last_nonblank_token =~ /^([\]\}\&]|\-\>)/ || $is_for_foreach{$want_paren})
4840 94 0 140 $tok eq 'qw' && $rOpts_trim_qw
4856 921 2 111 $statement_type eq "use" and $last_nonblank_token eq "use"
4873 2 0 0 $rsaw_use_module->{$current_package}{'RPerl'} and $tok =~ /^sse_(mul|div|add|sub)$/
0 0 2 $tok eq "in" and $next_nonblank_token eq ":"
4925 298 0 0 $tok eq "x" and $last_nonblank_type eq "w"
4937 1005 4 0 $tok eq "_" and $last_nonblank_type eq "F"
4943 1009 0 0 $tok eq "case" and $rbrace_type->[$brace_depth] eq "switch"
1009 0 0 $tok eq "when" and $rbrace_type->[$brace_depth] eq "given"
4959 263 0 0 $tok eq "x" and $last_nonblank_type eq "w"
4992 34 0 3 $is_sub{$tok_kw} and $expecting != 1
34 0 3 $is_sub{$tok_kw} and $expecting != 1 and $next_nonblank_token eq ":"
5002 1 0 2 $nn_nonblank_token =~ /^\w/ && !($nn_nonblank_token =~ /^\d/) && !$is_keyword{$nn_nonblank_token}
5091 78 2549 4081 $i_next <= $max_token_index and $rtoken_type->[$i_next] eq "b"
5106 6705 0 3 $tok eq "ADJUST" and $is_code_block_token{$tok}
0 1 2 $tok eq "ADJUST" and $is_code_block_token{$tok} and $rtokens->[$i_next] eq ":"
1 0 2 $tok eq "ADJUST" and $is_code_block_token{$tok} and $rtokens->[$i_next] eq ":" and $i_next < $max_token_index
5113 0 0 2 $i_next2 <= $max_token_index && $rtoken_type->[$i_next2] eq 'w' && $rtokens->[$i_next2] eq 'params'
5122 6403 33 272 $$rtokens[$i + 1] eq ":" and $$rtokens[$i + 2] eq ":"
5196 5041 11 825 $next_nonblank_token eq "=" and $$rtokens[$i_next + 1] eq ">"
824 0 1 defined $is_END_DATA{$tok_kw} && $input_line =~ /^\s*__(?:END|DATA)__\s*$/
5052 1 824 $next_nonblank_token eq "=" and $$rtokens[$i_next + 1] eq ">" and not defined $is_END_DATA{$tok_kw} && $input_line =~ /^\s*__(?:END|DATA)__\s*$/
4886 167 0 $next_nonblank_token eq "}" and $last_nonblank_type eq 'L' || $last_nonblank_type eq 'm' && $last_last_nonblank_type eq 'L'
4559 339 17 $expecting == 1 and substr($tok, 0, 1) eq "x"
4898 17 0 $expecting == 1 and substr($tok, 0, 1) eq "x" and length $tok == 1 || substr($tok, 1, 1) =~ /^\d/
4879 2 14 $tok eq "strict" and $last_nonblank_token eq "use"
4872 2 7 $tok eq "warnings" and $last_nonblank_token eq "use"
4874 0 0 $tok eq "AutoLoader" and $self->[27]
0 0 0 $tok eq "AutoLoader" and $self->[27] and $last_nonblank_token eq 'use' || $input_line =~ /^\s*(use|require)\s+AutoLoader\b/ || $input_line =~ /\bISA\s*=.*\bAutoLoader\b/
4874 0 0 $tok eq "SelfLoader" and $self->[28]
0 0 0 $tok eq "SelfLoader" and $self->[28] and $last_nonblank_token eq 'use' || $input_line =~ /^\s*(use|require)\s+SelfLoader\b/ || $input_line =~ /\bISA\s*=.*\bSelfLoader\b/
4858 0 16 $tok eq "constant" and $last_nonblank_token eq "use"
4309 2 313 $next_nonblank_token eq ":" and not $is_not_label
4311 273 40 $next_nonblank_token eq ":" and not $is_not_label and $$rtokens[$i_next + 1] ne ":"
275 3 37 $next_nonblank_token eq ":" and not $is_not_label and $$rtokens[$i_next + 1] ne ":" and $i_next <= $max_token_index
276 2 35 $next_nonblank_token eq ":" and not $is_not_label and $$rtokens[$i_next + 1] ne ":" and $i_next <= $max_token_index and not $self->sub_attribute_ok_here($tok_kw, $next_nonblank_token, $i_next)
5 2 33 $next_nonblank_token eq ":" and not $is_not_label and $$rtokens[$i_next + 1] ne ":" and $i_next <= $max_token_index and not $self->sub_attribute_ok_here($tok_kw, $next_nonblank_token, $i_next) and new_statement_ok()
4164 0 1 $tok_kw eq "format" and new_statement_ok()
805 237 0 $last_nonblank_type eq "k" and $is_redo_last_next_goto{$last_nonblank_token}
5243 821 0 3 $expecting == 1 and substr($tok, 0, 1) eq "x"
5390 356 2 14 $tok_kw eq "method" and $guess_if_method
358 7 7 $tok_kw eq "method" and $guess_if_method and not $self->method_ok_here($next_nonblank_token)
5473 3853 166 2644 $is_wiUC{$type} and $statement_type ne "use"
4019 2 2642 $is_wiUC{$type} and $statement_type ne "use" and $statement_type ne "_use"
5487 151 274 594 $next_nonblank_token eq "(" and $i_next < $max_token_index
5490 308 2 284 substr($tok_next_p1, 0, 1) eq " " and $i_next + 2 <= $max_token_index
5514 268 37 138 $next_nonblank_token eq '}' && ($last_nonblank_type eq 'L' || $last_nonblank_type eq 'm' && $last_last_nonblank_type eq 'L')
5521 138 16 289 not $is_hash_key and $last_nonblank_type ne 'k' || !$is_use_require_no{$last_nonblank_token}
16 109 180 not $is_hash_key and $last_nonblank_type ne 'k' || !$is_use_require_no{$last_nonblank_token} and $last_nonblank_token ne "->"
5637 1725 30 1467 $is_interpolated_quote{$quote_starting_tok} and $in_quote < $in_quote_start
5642 2 1464 1 not $in_quote and defined $quote_here_target_2
5685 1493 1 2 $pos_shift >= $len_qs and rindex($qs, "}") >= $len_qs
1494 2 0 $pos_shift >= $len_qs and rindex($qs, "}") >= $len_qs and rindex($qs, '$', $pos_shift) != -1 || rindex($qs, '@', $pos_shift) != -1
5758 29 2 0 $saw_modifier_e and $i > 1
5927 247 8658 15 not $in_quote and substr($untrimmed_input_line, 0, 1) eq "="
8905 0 15 not $in_quote and substr($untrimmed_input_line, 0, 1) eq "=" and $untrimmed_input_line =~ /^=[A-Za-z_]/
5946 8658 189 58 $in_quote and $quote_type eq "Q"
5970 8843 1 3 $self->[39] and length $input_line
5994 245 6717 890 not $in_quote and substr($input_line, 0, 1) eq "#"
5997 888 0 2 substr($input_line, 0, 4) eq '#<<V' || $rOpts_code_skipping_begin and $rOpts_code_skipping
888 0 2 substr($input_line, 0, 4) eq '#<<V' || $rOpts_code_skipping_begin and $rOpts_code_skipping and ($input_line . ' ') =~ /$code_skipping_pattern_begin/
6016 849 2 37 substr($input_line, 0, 4) eq '#<<<' || $rOpts_format_skipping_begin and $rOpts_format_skipping
851 20 17 substr($input_line, 0, 4) eq '#<<<' || $rOpts_format_skipping_begin and $rOpts_format_skipping and ($input_line . ' ') =~ /$format_skipping_pattern_begin/
22 0 17 substr($input_line, 0, 4) eq '#<<<' || $rOpts_format_skipping_begin and $rOpts_format_skipping and ($input_line . ' ') =~ /$format_skipping_pattern_begin/ and !$self->[13] || $format_skipping_pattern_begin ne $format_skipping_pattern_end
832 2 37 substr($input_line, 0, 4) eq '#>>>' || $rOpts_format_skipping_end and $rOpts_format_skipping
834 17 20 substr($input_line, 0, 4) eq '#>>>' || $rOpts_format_skipping_end and $rOpts_format_skipping and ($input_line . ' ') =~ /$format_skipping_pattern_end/
6039 10 7 0 @{$rformat_skipping_list;} and $rformat_skipping_list->[-1][0] == $on_off
6066 3 17 0 @{$rformat_skipping_list;} and $rformat_skipping_list->[-1][0] == $on_off
6141 0 6926 36 @{$rtokens;} and $rtoken_type->[0] eq "b"
0 0 36 $in_quote && $quote_type eq 'Q'
6926 36 0 @{$rtokens;} and $rtoken_type->[0] eq "b" and not $in_quote && $quote_type eq 'Q'
6195 17942 3 42019 $type ne "b" and $type ne "CORE::"
6198 39405 543 2071 $type eq "n" and $tok ne 0
6312 311 0 52 $last_nonblank_token eq "{" and $last_nonblank_block_type
311 0 52 $last_nonblank_token eq "{" and $last_nonblank_block_type and $last_nonblank_type_sequence
0 0 52 $last_nonblank_token eq "{" and $last_nonblank_block_type and $last_nonblank_type_sequence and not $self->[13]
0 6 46 $last_nonblank_token eq "{" and $last_nonblank_block_type and $last_nonblank_type_sequence and not $self->[13] and $rOpts_non_indenting_braces
6321 40 0 6 $len == 4 and $text eq "#<<<"
13 27 0 $len > 4 and $text eq "#<<< "
6379 34892 130 6479 $can_start_digraph{$tok} and $i < $max_token_index
35022 3366 3113 $can_start_digraph{$tok} and $i < $max_token_index and $is_digraph{$tok . $$rtokens[$i + 1]}
6443 47 4 3062 $combine_ok and $test_tok ne "/="
51 0 3062 $combine_ok and $test_tok ne "/=" and $test_tok ne "x="
4 2 3060 $combine_ok and $test_tok ne "/=" and $test_tok ne "x=" and $test_tok ne "*="
6492 11781 32 13 $last_nonblank_type eq 'Z' && ($i == 0 || $$rtoken_type[$i - 1] eq 'b')
6564 148 363 6451 $type ne "b" and $type ne "#"
6741 440 185 8 $type_i eq ":" and $routput_indent_flag->[$ii] < 0
6871 342 0 415 $is_zero_continuation_block_type{$blk} || substr($blk, 0, 4) eq 'sub ' and not $self->[13]
6892 225 175 15 $space_count and ord substr($untrimmed_input_line, 0, 1) == 9
6919 225 107 83 $space_count and not defined $rhash->{'valid'}
6937 9 46 0 $guess == 0 and $adjust > 0
7124 2983 11 3 $tok eq "/" and $next_type eq "/"
2994 2 1 $tok eq "/" and $next_type eq "/" and $is_keyword_rejecting_slash_as_pattern_delimiter{$last_nonblank_token}
7139 2995 1 0 $tok eq "?" and $last_nonblank_token eq "split"
7195 447 13 19 substr($blk, -1, 1) eq ":" and $blk =~ /^\w+:$/
158 192 110 substr($blk, 0, 3) eq "sub" and $blk =~ /^sub\s/
344 0 6 substr($blk, 0, 7) eq "package" and $blk =~ /^package\s/
7272 182 0 135 $function_count and $function_count > 0
7292 43 0 0 $tok eq "x" and $next_type =~ /^[\(\$\@\%]$/
7313 31 8 0 $blank_after_Z and $next_type ne "b"
7365 362 2 117 $last_nonblank_token eq "}" and $last_nonblank_type eq $last_nonblank_token
7389 2 0 115 $block_type && !$is_sort_map_grep_eval_do_sub{$block_type}
7417 1382 0 98 $last_nonblank_token eq "{" and $last_nonblank_type eq $last_nonblank_token
1317 0 10 $last_nonblank_token eq "}" and $last_nonblank_type eq $last_nonblank_token
358 0 168 $last_nonblank_type eq "t" and substr($last_nonblank_token, 0, 3) eq "sub"
7485 301 258 0 $last_nonblank_type eq "k" and $last_nonblank_token eq 'if' || $last_nonblank_token eq 'unless'
7538 0 86 1 $paren_type and $is_sort_map_grep{$paren_type}
7620 8 0 173 defined $rpre_types and @{$rpre_types;}
7638 94 0 0 $pre_types[$j] eq "-" and $pre_types[++$j] eq "w"
7666 87 0 0 $pre_types[$j] eq "," and not $is_q_qq_qx_qr_s_y_tr_m{$pre_tokens[$jbeg]}
69 0 18 $pre_types[$j] eq "=" and $pre_types[++$j] eq ">"
7690 143 0 20 $code_block_type =~ /^\w/ and $code_block_type ne "method"
7723 0 0 0 $i_tok > 0 and $last_nonblank_i >= 0
7961 3450 2075 1 $aa == 0 and $saved_type eq "Z"
5525 0 1 $aa == 0 and $saved_type eq "Z" and $last_nonblank_type eq "w"
2075 0 1 $aa == 0 and $saved_type eq "Z" and $last_nonblank_type eq "w" and $rbrace_structural_type->[$brace_depth] eq "L"
7982 0 0 0 $saw_brace_error <= 6 and $diff > 0 || $saw_brace_error <= 0
8187 12 0 0 $last_nonblank_type eq "k" and $last_nonblank_token eq "split"
8359 0 0 0 $space_before && !$space_after
8563 0 1586 280 defined $1 and length $1
8579 158 122 0 not $sub_name and substr($package, -1, 1) eq "'"
8591 1529 57 0 $is_keyword{$tok} and $last_nonblank_type ne "->"
8597 0 786 1080 $type eq "w" and $last_nonblank_type ne "->"
8601 1049 29 2 substr($tok, 0, 1) eq "v" and $tok =~ /^v\d[_\d]*$/
1077 0 1 $last_nonblank_token eq "sort" and $last_nonblank_type eq "k"
302 757 0 not $input_line =~ /\G\(/cg and $is_indirect_object_taker{$last_nonblank_token} || $last_nonblank_token eq '(' && $is_indirect_object_taker{$rparen_type->[$paren_depth]}
8827 4 417 2 not $blank_line and $next_nonblank_token eq "\$"
421 0 2 not $blank_line and $next_nonblank_token eq "\$" and $id_scan_state eq "method"
8880 0 0 10 defined $type && $type
415 10 0 $id_scan_state and not defined $type && $type
8979 0 0 50 defined $1 && $1
9109 330 208 13 $container_type && $container_type =~ /^sub\b/
9129 198 26 0 $tok =~ /^[\@\%\&\*]$/ and $identifier =~ /\-\>$/
224 0 0 $tok eq "'" and $allow_tick
9173 4 0 96 not $last_tok_is_blank || $in_prototype_or_signature and $identifier =~ /^[\%\@\$\*]$/ || $identifier =~ /\$$/
0 0 96 not $last_tok_is_blank || $in_prototype_or_signature and $identifier =~ /^[\%\@\$\*]$/ || $identifier =~ /\$$/ and not $is_punct_var
9212 10 0 37 $identifier eq '$' || $identifier eq '@' || $identifier eq '$#' and $i + 2 <= $max_token_index
10 26 11 $identifier eq '$' || $identifier eq '@' || $identifier eq '$#' and $i + 2 <= $max_token_index and $$rtokens[$i + 2] eq "}"
26 10 1 $identifier eq '$' || $identifier eq '@' || $identifier eq '$#' and $i + 2 <= $max_token_index and $$rtokens[$i + 2] eq "}" and not $$rtokens[$i + 1] =~ /[\s\w]/
9337 43 0 3 $in_prototype_or_signature and $tok =~ /^[\),=#]/
2 0 6 $tok eq "*" and $identifier =~ /\-\>([\@\%\$\*\&]|\$\#)$/
9358 0 2 0 $id_scan_state eq $scan_state_SIGIL and $tok eq "#"
9429 13 0 0 $tok eq "'" and $allow_tick
7 6 0 $tok_is_blank and $identifier =~ /^sub /
13 0 0 $tok eq "(" and $identifier =~ /^sub /
9462 335 0 12 $tok eq "'" and $allow_tick
186 149 0 $tok_is_blank and $identifier =~ /^sub /
306 29 0 $tok eq "(" and $identifier =~ /^sub /
9545 17 0 0 $tok eq "'" and $allow_tick
9559 0 0 2 length $identifier == 1 and $i == $max_token_index
9627 0 0 0 $identifier eq "&" and $expecting
0 0 0 $identifier eq "&" and $expecting and $tok ne "#"
9771 21 99 1305 $i < $max_token_index and $id_scan_state
9805 1179 4 119 $tok eq ":" and $$rtokens[$i + 1] eq ":"
9852 53 0 4 $identifier =~ /\$$/ && $tok eq '{'
56 4 53 length $identifier > 1 and not $identifier =~ /\$$/ && $tok eq '{'
60 0 53 length $identifier > 1 and not $identifier =~ /\$$/ && $tok eq '{' and $identifier ne "sub "
4 0 53 length $identifier > 1 and not $identifier =~ /\$$/ && $tok eq '{' and $identifier ne "sub " and $identifier ne "package "
9857 402 2 0 $identifier =~ /^->/ and $last_nonblank_type eq "w"
404 0 0 $identifier =~ /^->/ and $last_nonblank_type eq "w" and substr($identifier, 2, 1) =~ /^\w/
9891 0 0 5 $id_scan_state_begin and $identifier =~ /^([\$\%\@\*\&]|->)/
10032 7 188 176 $call_type == 1 and $input_line =~ /\G\s*
10043 176 0 0 $last_nonblank_type eq 'k' && $is_my_our_state{$last_nonblank_token}
10044 176 0 0 $is_lexical_sub and $1
10085 0 170 6 defined $1 && $1
10120 0 359 12 $input_line =~ /\G(\s*\([^\)\(\}\{\,#A-Za-z=]*\))? # PROTO
10133 11 10 24 $proto and $match || $call_type == 3
10153 34 9 2 $tok eq "sub" and not $proto
10168 188 2 1 $pos == $pos_beg and $tok eq ":"
10189 188 0 2 $type eq "k" and $attrs
188 0 2 $type eq "k" and $attrs and $i > $i_entry
0 0 2 $type eq "k" and $attrs and $i > $i_entry and substr($rtokens->[$i], 0, 1) =~ /\s/
10207 0 0 7 defined $rpre_tokens and @{$rpre_tokens;}
10222 143 0 0 $rsaw_function_definition->{$subname}{$package} and not $subname =~ /^[A-Z]+$/
10282 0 0 0 $rcall_hash->{'tok'} eq "method" and $call_type == 1
10331 392 65 9 $i == $max_token_index - 1 and $rtokens->[$max_token_index] =~ /^\s+$/
10347 0 0 466 defined $next_nonblank_token and length $next_nonblank_token
10352 161 305 0 $ord <= 33 || $ord >= 126 and $ord == 32 || $ord == 9 || $next_nonblank_token =~ /^\s+$/
10392 0 0 108 $next_nonblank_token and $next_nonblank_token ne " "
0 0 108 $next_nonblank_token and $next_nonblank_token ne " " and defined $$rtokens[$i_next + 1]
10679 7 0 0 $i_beg == 0 && $self->[21] == 1
10683 7 0 0 $str =~ /^<\?xml\s.*\?>$/i and $is_first_string
10882 561 16 38 substr($input_line, $pos - 1, 1) eq "." and substr($input_line, $pos, 1) eq "."
10895 367 16 0 $number =~ /^(.*)[eE]/ and not $1 =~ /\d/
10982 15 0 0 $next_token =~ /^\s*$/ and $expecting == -1
11029 18 0 0 $tokj eq "\\" and $j < $i - 1
18 0 0 $tokj eq "\\" and $j < $i - 1 and $$rtokens[$j + 1] eq $here_quote_character
11072 0 33 0 $found_target and $backslash
11227 0 2 2 $ii < $max_ii and $$rtoken_type[$ii + 1] eq "b"
11230 0 4 0 $ii < $max_ii and $$rtoken_type[$ii + 1] eq 'w' || $$rtoken_type[$ii + 1] eq '::'
11239 0 4 0 $ii < $max_ii and $$rtoken_type[$ii + 1] eq "b"
11242 0 0 4 $ii < $max_ii and $$rtokens[$ii + 1] eq "{"
11274 4 0 0 $$rtoken_type[$ii + 1] eq "~" and $ii < $max_ii - 2
11280 2 0 2 $$rtoken_type[$ii + 1] eq "b" and $ii < $max_ii - 2
11310 0 2 2 ++$ii <= $max_ii and $rtokens->[$ii] ne $quote_char
11312 1 1 0 $quote_char ne "'" and $rtokens->[$ii] eq "\\"
11380 3027 0 0 length $beginning_tok and not $beginning_tok =~ /^\s+$/
11401 3023 4 0 $tok eq "#" and $allow_quote_comments
11439 3268 2 1 not $is_punct_char{$beginning_tok} and $beginning_tok =~ /\w/
11516 19 1 439 $tok ne $end_tok and $tok ne $beginning_tok

or 2 conditions

line l !l condition
10147 30 15 $match ||= 1

or 3 conditions

line l !l&&r !l&&!r condition
942 0 0 659 $self->[7] || $self->[8]
945 0 0 659 $severe_error ||= $self->[10] && $self->[9]
1014 0 0 0 $self->[33] or $self->[32]
1314 0 0 659 $is_binary_or_unary_operator_type{$last_nonblank_type} or $last_nonblank_type eq "k" and $is_binary_or_unary_keyword{$last_nonblank_token}
1698 0 0 0 $self->[33] or $self->[32]
1782 7894 20 981 $self->[35] or $input_line =~ /^\s*$/
20 326 655 $self->[35] or $input_line =~ /^\s*$/ or $input_line =~ /^\s*#/
2684 0 0 0 $rtokens->[$i_plus_1] eq '{' || $rtokens->[$i_plus_1] eq '['
2698 31 12 37 $tok_begin eq '@' || $tok_begin eq '%'
2858 1 0 7 not $next_char or $next_char eq "#"
2934 1 0 11 not $next_char or $next_char eq "#"
3016 14 378 0 $typ_d eq '+' || $typ_d eq '-'
3027 27 2528 49 $i_d == $max_token_index || $i_d < $max_token_index && $$rtoken_type[$i_d + 1] ne '.' && $$rtoken_type[$i_d + 1] ne 'w'
3041 449 1780 57 $tok_d eq 0 or substr($tok_d, 0, 1) ne 0
3092 1 0 1678 $is_binary_or_unary_operator_type{$last_nonblank_type} or $last_nonblank_type eq "k" and $is_binary_or_unary_keyword{$last_nonblank_token}
0 0 1678 $is_binary_or_unary_operator_type{$last_nonblank_type} or $last_nonblank_type eq "k" and $is_binary_or_unary_keyword{$last_nonblank_token} or $is_not_a_TERM_producer_type{$last_nonblank_type} and $is_binary_operator_type{$tok}
3202 41 22 4816 $is_indirect_object_taker{$last_nonblank_token} and $last_nonblank_type eq "k" or $last_nonblank_token eq "(" and $is_indirect_object_taker{$rparen_type->[$paren_depth]}
45 0 4771 $last_nonblank_type eq "w" or $last_nonblank_type eq "U"
22 0 4816 $is_indirect_object_taker{$last_nonblank_token} and $last_nonblank_type eq "k" or $last_nonblank_token eq "(" and $is_indirect_object_taker{$rparen_type->[$paren_depth]} or ($last_nonblank_type eq "w" or $last_nonblank_type eq "U")
3616 43 5 1982 $statement_type eq 'case' || $statement_type eq 'when'
3723 0 0 0 $i_tok == 0 || $$rtoken_type[$i_tok - 1] eq 'b'
3775 43 5 1432 $statement_type eq "case" or $statement_type eq "when"
3778 4 0 44 not $block_type or $block_type eq "}"
3865 103 0 3 $expecting == -1 or $next_type ne "b"
4127 2 0 0 $next_type eq "w" or $next_type eq "{"
4716 4 64 2017 $tok eq "when" or $tok eq "case"
68 2 2015 $tok eq "when" or $tok eq "case" or $tok eq "default"
4727 35 0 0 $is_if_elsif_unless{$last_nonblank_block_type} or $last_nonblank_token eq ";" and $next_sequence_number == 2
4752 52 1 0 $is_if_elsif_unless_case_when{$last_nonblank_block_type} or $is_if_elsif_unless_case_when{$statement_type}
1 0 0 $is_if_elsif_unless_case_when{$last_nonblank_block_type} or $is_if_elsif_unless_case_when{$statement_type} or $last_nonblank_token eq ";" and $next_sequence_number == 2
4943 0 0 1009 $tok eq "case" and $rbrace_type->[$brace_depth] eq "switch" or $tok eq "when" and $rbrace_type->[$brace_depth] eq "given"
4959 0 0 263 $tok eq "switch" or $tok eq "given"
5196 136 0 31 $last_nonblank_type eq 'L' || $last_nonblank_type eq 'm' && $last_last_nonblank_type eq 'L'
15 2 0 length $tok == 1 || substr($tok, 1, 1) =~ /^\d/
0 0 0 $last_nonblank_token eq 'use' || $input_line =~ /^\s*(use|require)\s+AutoLoader\b/ || $input_line =~ /\bISA\s*=.*\bAutoLoader\b/
0 0 0 $last_nonblank_token eq 'use' || $input_line =~ /^\s*(use|require)\s+SelfLoader\b/ || $input_line =~ /\bISA\s*=.*\bSelfLoader\b/
5243 0 3 0 length $tok == 1 or substr($tok, 1, 1) =~ /^\d/
5413 0 2 12 $expecting == 1 or not $next_nonblank_token =~ /^[\w\:]/
2 2 10 $expecting == 1 or not $next_nonblank_token =~ /^[\w\:]/ or not $self->class_ok_here
5482 298 721 1623 $type eq "U" or $is_function_follower{$next_nonblank_token}
10 0 1613 $type eq "C" or $is_constant_follower{$next_nonblank_token}
5521 280 9 16 $last_nonblank_type ne 'k' || !$is_use_require_no{$last_nonblank_token}
5685 2 0 0 rindex($qs, '$', $pos_shift) != -1 || rindex($qs, '@', $pos_shift) != -1
5747 1 2 46 $saw_modifier_e ||= $char eq "e"
5997 2 0 888 substr($input_line, 0, 4) eq '#<<V' || $rOpts_code_skipping_begin
6016 18 21 849 substr($input_line, 0, 4) eq '#<<<' || $rOpts_format_skipping_begin
17 0 0 !$self->[13] || $format_skipping_pattern_begin ne $format_skipping_pattern_end
21 18 832 substr($input_line, 0, 4) eq '#>>>' || $rOpts_format_skipping_end
6192 244 126 2852 $in_quote or $i > $max_token_index
6235 0 793 403 $last_nonblank_type eq "w" or $last_nonblank_type eq "i"
6321 6 0 40 $len == 4 and $text eq "#<<<" or $len > 4 and $text eq "#<<< "
6334 10 0 7 $is_sub{$id_scan_state} or $is_package{$id_scan_state}
6360 3 6 7 $i > 0 or $type
6400 0 0 1 not $blk or $blk ne ";"
6548 261 16 11589 $type eq ';' || $type eq ',' || $is_binary_operator_type{$type}
6713 4305 588 440 $type_i eq "{" or $type_i eq "L"
6741 4305 588 633 $type_i eq "}" or $type_i eq "R"
4893 8 625 $type_i eq "}" or $type_i eq "R" or $type_i eq ":" and $routput_indent_flag->[$ii] < 0
6871 320 95 342 $is_zero_continuation_block_type{$blk} || substr($blk, 0, 4) eq 'sub '
7175 2442 372 1373 $last_nonblank_token eq ")" or $last_nonblank_token eq "]"
7195 426 94 484 $is_zero_continuation_block_type{$blk} or $is_sort_map_grep{$blk}
94 5 479 $is_zero_continuation_block_type{$blk} or $is_sort_map_grep{$blk} or $is_grep_alias{$blk}
5 19 460 $is_zero_continuation_block_type{$blk} or $is_sort_map_grep{$blk} or $is_grep_alias{$blk} or substr($blk, -1, 1) eq ":" and $blk =~ /^\w+:$/
19 110 350 $is_zero_continuation_block_type{$blk} or $is_sort_map_grep{$blk} or $is_grep_alias{$blk} or substr($blk, -1, 1) eq ":" and $blk =~ /^\w+:$/ or substr($blk, 0, 3) eq "sub" and $blk =~ /^sub\s/
110 27 323 $is_zero_continuation_block_type{$blk} or $is_sort_map_grep{$blk} or $is_grep_alias{$blk} or substr($blk, -1, 1) eq ":" and $blk =~ /^\w+:$/ or substr($blk, 0, 3) eq "sub" and $blk =~ /^sub\s/ or substr($blk, 0, 7) eq "package" and $blk =~ /^package\s/
7207 84 192 68 $is_block_operator{$blk} or $is_sub{$blk}
7395 183 42 139 $last_nonblank_type eq ';' || $last_nonblank_type eq 'J'
7417 554 0 729 $is_code_block_token{$last_nonblank_token} or $is_grep_alias{$last_nonblank_token}
10 188 526 $last_nonblank_type eq "P" or $last_nonblank_type eq "S"
198 0 526 $last_nonblank_type eq "P" or $last_nonblank_type eq "S" or $last_nonblank_type eq "t" and substr($last_nonblank_token, 0, 3) eq "sub"
7485 0 0 258 $last_nonblank_token eq 'if' || $last_nonblank_token eq 'unless'
7666 0 23 64 $pre_types[$j] eq "," and not $is_q_qq_qx_qr_s_y_tr_m{$pre_tokens[$jbeg]} or $pre_types[$j] eq "=" and $pre_types[++$j] eq ">"
7796 909 0 1973 $is_sigil_or_paren{substr($last_nonblank_token, 0, 1)} || substr($last_nonblank_token, 0, 2) eq '->' || $is_R_closing_sb{$last_nonblank_type}
7982 0 0 0 $diff > 0 || $saw_brace_error <= 0
7997 0 0 0 $diff == 1 or $diff == -1
8187 0 0 12 $is_non_ternary_pretok{$next_nonblank_token} or $last_nonblank_type eq "k" and $last_nonblank_token eq "split"
8259 0 0 0 $s_quote % 2 or $d_quote % 2
0 0 0 $s_quote % 2 or $d_quote % 2 or $colons
8357 0 0 0 $i < 2 || $$rtokens[$i - 2] =~ /^\s/
8601 4 0 753 $is_indirect_object_taker{$last_nonblank_token} || $last_nonblank_token eq '(' && $is_indirect_object_taker{$rparen_type->[$paren_depth]}
8682 0 4 0 pos $input_line == length $input_line or $input_line =~ /\G[;\s]/cg
9173 4 0 96 $last_tok_is_blank || $in_prototype_or_signature
95 1 0 $identifier =~ /^[\%\@\$\*]$/ || $identifier =~ /\$$/
9212 31 6 10 $identifier eq '$' || $identifier eq '@' || $identifier eq '$#'
9236 31 0 15 $identifier eq "\$" or $i == 0
9569 15 0 0 $identifier eq "&" or $i == 0
9704 349 6 181 $tok eq "\$" or $tok eq "*"
25 54 102 $tok eq "%" or $tok eq "\@"
0 0 0 $tok eq "sub" or $tok eq "package"
10120 34 11 326 $1 || $2
10133 22 2 10 $match || $call_type == 3
10352 305 0 161 $ord <= 33 || $ord >= 126
305 0 0 $ord == 32 || $ord == 9 || $next_nonblank_token =~ /^\s+$/
10450 0 0 0 $next_next_nonblank_token eq ";" or $next_next_nonblank_token eq "]"
0 0 0 $next_next_nonblank_token eq ";" or $next_next_nonblank_token eq "]" or $next_next_nonblank_token eq "}"
10519 0 0 0 $next_nonblank_token =~ /^\s*$/ or $next_nonblank_token eq "#"
10638 1 0 0 substr($last_nonblank_token, 0, 1) =~ /[A-Za-z_]/ or substr($str, 1, 1) =~ /[A-Za-z_]/
10748 0 0 0 $br or $sb
0 0 0 $br or $sb or $pr
10895 304 0 383 not $number =~ /\d/ or $number =~ /^(.*)[eE]/ and not $1 =~ /\d/
11225 4 0 0 $token eq "\$" or $token eq "\@"
11230 0 0 4 $$rtoken_type[$ii + 1] eq 'w' || $$rtoken_type[$ii + 1] eq '::'
11261 5 0 4 $token ne "<" or $ii >= $max_ii - 1
5 0 4 $token ne "<" or $ii >= $max_ii - 1 or $$rtokens[$ii + 1] ne "<"
11288 1 1 0 $next_type eq "'" or $next_type eq "\""
2 0 0 $next_type eq "'" or $next_type eq "\"" or $next_type eq "`"
11380 244 0 3027 $is_punct_char{$beginning_tok} or length $beginning_tok and not $beginning_tok =~ /^\s+$/
11451 3 0 1 $quote_pos == 0 or $i < 0
11647 0 0 0 $pos < 0 or $pos > length $underline