Condition Coverage

blib/lib/Perl/Tidy/Tokenizer.pm
Criterion Covered Total %
condition 749 1193 62.7


and 3 conditions

line !l l&&!r l&&r condition
420 647 0 0 defined $str and length $str
619 649 0 0 $rOpts->{'code-skipping-from-start'} && $rOpts_code_skipping
665 2 646 1 defined $logger_object && $logger_object->get_save_logfile
754 2 646 1 @{$rinput_lines;} and not $source_string =~ /\n$/
940 649 0 0 $self->[10] && $self->[9]
966 0 0 0 $maxle >= 0 and $level_diff > $maxle
988 648 1 0 $rOpts_look_for_hash_bang and not $self->[31]
1073 649 0 0 $maxue > 0 and $ue_count > $maxue
1107 636 10 3 @{$rformat_skipping_list;} and $rformat_skipping_list->[0][0] == -1
1186 0 0 0 $min_lev < 0 and $lev >= 0
1309 649 0 0 $last_nonblank_type eq "k" and $is_binary_or_unary_keyword{$last_nonblank_token}
1491 51 0 0 $input_line =~ /^\#\!.*perl\b/ and not $self->[5]
1539 1 0 0 $input_line =~ /^=(\w+)\b/ and $1 ne "cut"
1558 49 0 7 $input_line =~ /^=(\w+)\b/ and $1 ne "cut"
1574 628 8175 16 not $self->[31] and substr($input_line, 0, 2) eq "#!"
8803 0 16 not $self->[31] and substr($input_line, 0, 2) eq "#!" and $input_line =~ /^\#\!.*perl\b/
1589 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/
1638 8798 1 5 $rOpts_look_for_hash_bang and not $self->[31]
1647 8167 632 0 $input_line_number == 1 and $input_line =~ /^\s*\:\s*\#/
1787 8527 184 63 $self->[16] and $self->[18] < 0
8465 184 62 $self->[18] >= 0 and not $self->[16]
1844 328 631 14 $i == 1 and $line =~ /^\#\!/
1856 0 310 0 $rOpts_code_skipping and $line =~ /$code_skipping_pattern_begin/
1928 633 0 1 $3 and $rOpts_outdent_labels
633 0 1 $3 and $rOpts_outdent_labels and $rOpts_continuation_indentation > 0
2336 0 0 8 $pretoken and length $pretoken > $numc
0 0 8 $pretoken and length $pretoken > $numc and substr($pretoken, $numc) =~ /^(\d*)(.*)$/
2606 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)
2672 0 4 5673 not $id_scan_state and $i_plus_1 <= $max_token_index
4 5673 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 '['
2686 277 80 0 $rtoken_type->[$i_plus_1] eq "{" and $tok_begin eq '@' || $tok_begin eq '%'
2690 3044 3 2045 $rtoken_type->[$i_next] eq "b" and $i_next < $max_token_index
2697 108 8 5098 $pretype_next ne ":" and $pretype_next ne "'"
2812 12 0 2 $next_nonblank_token eq "\$" and new_statement_ok()
3004 2508 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
3015 302 48 2550 $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'
3080 152 133 0 $last_nonblank_type eq "k" and $is_binary_or_unary_keyword{$last_nonblank_token}
248 37 0 $is_not_a_TERM_producer_type{$last_nonblank_type} and $is_binary_operator_type{$tok}
3101 0 0 0 $ct and $ct =~ /^sub\b/
3190 4796 0 37 $is_indirect_object_taker{$last_nonblank_token} and $last_nonblank_type eq "k"
3913 861 22 $last_nonblank_token eq "(" and $is_indirect_object_taker{$rparen_type->[$paren_depth]}
3221 2114 0 20 substr($statement_type, 0, 3) eq "sub" and $statement_type =~ /^sub\b/
3236 1464 647 3 $expecting == 1 and not $last_nonblank_token =~ /^(?:[\]\}\)\&]|\-\>)/
3266 3 0 0 $next_nonblank_token ne ")" and $next_nonblank_token ne "#"
3278 0 0 0 $i_tok > 0 and $last_nonblank_token =~ /^\$/
3375 0 0 2423 $type_lp and $type_lp eq "{"
3384 2392 1 30 substr($container_type, 0, 3) eq "sub" and $container_type =~ /^sub\b/
3392 62 17 0 $num_sc > 0 and $num_sc != 2
3406 3678 0 0 $last_nonblank_token eq "(" and $last_nonblank_type eq "{"
3442 1 0 34 $brace_depth == $rdepth_array->[2][0][$paren_depth] and $square_bracket_depth == $rdepth_array->[2][1][$paren_depth]
3511 213 12 0 $last_nonblank_type eq "k" and $is_keyword_rejecting_slash_as_pattern_delimiter{$last_nonblank_token}
3587 1922 48 0 $statement_type eq 'case' || $statement_type eq 'when' and $statement_type eq $last_nonblank_token
1675 0 0 $last_nonblank_token eq "qw" and $is_for_foreach{$want_paren}
3677 2008 0 8 $statement_type eq "field" and $last_last_nonblank_token eq "field"
2008 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"
3694 564 0 0 $statement_type eq "when" and $last_nonblank_type eq "i"
564 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'
3714 341 1103 0 $block_type and $ris_lexical_sub->{'911'}
1103 0 0 $block_type and $ris_lexical_sub->{'911'} and $last_nonblank_type eq "S"
1103 0 0 $block_type and $ris_lexical_sub->{'911'} and $last_nonblank_type eq "S" and substr($block_type, 0, 3) eq "sub"
3720 0 0 0 $block_type =~ /^sub $subname/ and $is_my_our_state{$last_last_nonblank_token}
3734 341 1067 36 $block_type and $last_nonblank_type eq "w"
1408 0 36 $block_type and $last_nonblank_type eq "w" and $last_nonblank_i >= 0
3801 2008 2 6 @{$self->[53];} and $self->[53][-1] eq $type_sequence
3874 192 0 1 $last_nonblank_type eq "k" and $is_keyword_rejecting_question_as_pattern_delimiter{$last_nonblank_token}
3944 242 6 6 $expecting == 0 and $next_type ne "b"
4002 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)
4104 0 0 0 $next_type ne "b" and $next_type ne "("
4164 97 382 12 $expecting != 1 and $is_file_test_operator{$next_tok}
4207 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/
4230 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 "\$#"
4659 2729 331 0 $expecting == 1 and $is_TERM_keyword{$tok}
4675 0 0 0 $last_nonblank_token eq ";" and $next_sequence_number == 2
4700 0 0 0 $last_nonblank_token eq ";" and $next_sequence_number == 2
4773 0 0 0 $tok eq 'qw' && ($last_nonblank_token =~ /^([\]\}\&]|\-\>)/ || $is_for_foreach{$want_paren})
4788 94 0 138 $tok eq 'qw' && $rOpts_trim_qw
4804 917 2 111 $statement_type eq "use" and $last_nonblank_token eq "use"
4821 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 ":"
4873 294 0 0 $tok eq "x" and $last_nonblank_type eq "w"
4885 1001 4 0 $tok eq "_" and $last_nonblank_type eq "F"
4891 1005 0 0 $tok eq "case" and $rbrace_type->[$brace_depth] eq "switch"
1005 0 0 $tok eq "when" and $rbrace_type->[$brace_depth] eq "given"
4907 259 0 0 $tok eq "x" and $last_nonblank_type eq "w"
4940 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 ":"
4950 1 0 2 $nn_nonblank_token =~ /^\w/ && !($nn_nonblank_token =~ /^\d/) && !$is_keyword{$nn_nonblank_token}
5039 78 2537 4001 $i_next <= $max_token_index and $rtoken_type->[$i_next] eq "b"
5054 6613 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
5061 0 0 2 $i_next2 <= $max_token_index && $rtoken_type->[$i_next2] eq 'w' && $rtokens->[$i_next2] eq 'params'
5070 6311 33 272 $$rtokens[$i + 1] eq ":" and $$rtokens[$i + 2] eq ":"
5144 4961 11 813 $next_nonblank_token eq "=" and $$rtokens[$i_next + 1] eq ">"
812 0 1 defined $is_END_DATA{$tok_kw} && $input_line =~ /^\s*__(?:END|DATA)__\s*$/
4972 1 812 $next_nonblank_token eq "=" and $$rtokens[$i_next + 1] eq ">" and not defined $is_END_DATA{$tok_kw} && $input_line =~ /^\s*__(?:END|DATA)__\s*$/
4806 167 0 $next_nonblank_token eq "}" and $last_nonblank_type eq 'L' || $last_nonblank_type eq 'm' && $last_last_nonblank_type eq 'L'
4485 333 17 $expecting == 1 and substr($tok, 0, 1) eq "x"
4818 17 0 $expecting == 1 and substr($tok, 0, 1) eq "x" and length $tok == 1 || substr($tok, 1, 1) =~ /^\d/
4799 2 14 $tok eq "strict" and $last_nonblank_token eq "use"
4792 2 7 $tok eq "warnings" and $last_nonblank_token eq "use"
4794 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/
4794 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/
4778 0 16 $tok eq "constant" and $last_nonblank_token eq "use"
4231 2 313 $next_nonblank_token eq ":" and not $is_not_label
4233 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()
4106 0 1 $tok_kw eq "format" and new_statement_ok()
803 235 0 $last_nonblank_type eq "k" and $is_redo_last_next_goto{$last_nonblank_token}
5191 809 0 3 $expecting == 1 and substr($tok, 0, 1) eq "x"
5338 336 2 14 $tok_kw eq "method" and $guess_if_method
338 7 7 $tok_kw eq "method" and $guess_if_method and not $self->method_ok_here($next_nonblank_token)
5421 3777 166 2628 $is_wiUC{$type} and $statement_type ne "use"
3943 2 2626 $is_wiUC{$type} and $statement_type ne "use" and $statement_type ne "_use"
5435 151 272 592 $next_nonblank_token eq "(" and $i_next < $max_token_index
5438 308 2 282 substr($tok_next_p1, 0, 1) eq " " and $i_next + 2 <= $max_token_index
5462 268 37 138 $next_nonblank_token eq '}' && ($last_nonblank_type eq 'L' || $last_nonblank_type eq 'm' && $last_last_nonblank_type eq 'L')
5469 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 "->"
5584 1709 30 1431 $is_interpolated_quote{$quote_starting_tok} and $in_quote < $in_quote_start
5589 2 1428 1 not $in_quote and defined $quote_here_target_2
5632 1457 1 2 $pos_shift >= $len_qs and rindex($qs, "}") > $pos_shift
1458 2 0 $pos_shift >= $len_qs and rindex($qs, "}") > $pos_shift and rindex($qs, '$', $pos_shift) != -1 || rindex($qs, '@', $pos_shift) != -1
5704 29 2 0 $saw_modifier_e and $i > 1
5873 247 8537 15 not $in_quote and substr($untrimmed_input_line, 0, 1) eq "="
8784 0 15 not $in_quote and substr($untrimmed_input_line, 0, 1) eq "=" and $untrimmed_input_line =~ /^=[A-Za-z_]/
5892 8537 189 58 $in_quote and $quote_type eq "Q"
5916 8722 1 3 $self->[39] and length $input_line
5940 245 6615 884 not $in_quote and substr($input_line, 0, 1) eq "#"
5943 882 0 2 substr($input_line, 0, 4) eq '#<<V' || $rOpts_code_skipping_begin and $rOpts_code_skipping
882 0 2 substr($input_line, 0, 4) eq '#<<V' || $rOpts_code_skipping_begin and $rOpts_code_skipping and ($input_line . ' ') =~ /$code_skipping_pattern_begin/
5962 843 2 37 substr($input_line, 0, 4) eq '#<<<' || $rOpts_format_skipping_begin and $rOpts_format_skipping
845 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
826 2 37 substr($input_line, 0, 4) eq '#>>>' || $rOpts_format_skipping_end and $rOpts_format_skipping
828 17 20 substr($input_line, 0, 4) eq '#>>>' || $rOpts_format_skipping_end and $rOpts_format_skipping and ($input_line . ' ') =~ /$format_skipping_pattern_end/
5985 10 7 0 @{$rformat_skipping_list;} and $rformat_skipping_list->[-1][0] == $on_off
6012 3 17 0 @{$rformat_skipping_list;} and $rformat_skipping_list->[-1][0] == $on_off
6087 0 6824 36 @{$rtokens;} and $rtoken_type->[0] eq "b"
0 0 36 $in_quote && $quote_type eq 'Q'
6824 36 0 @{$rtokens;} and $rtoken_type->[0] eq "b" and not $in_quote && $quote_type eq 'Q'
6141 17712 3 41499 $type ne "b" and $type ne "CORE::"
6144 38891 543 2065 $type eq "n" and $tok ne 0
6258 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
6267 40 0 6 $len == 4 and $text eq "#<<<"
13 27 0 $len > 4 and $text eq "#<<< "
6325 34468 130 6383 $can_start_digraph{$tok} and $i < $max_token_index
34598 3336 3047 $can_start_digraph{$tok} and $i < $max_token_index and $is_digraph{$tok . $$rtokens[$i + 1]}
6389 47 4 2996 $combine_ok and $test_tok ne "/="
51 0 2996 $combine_ok and $test_tok ne "/=" and $test_tok ne "x="
4 2 2994 $combine_ok and $test_tok ne "/=" and $test_tok ne "x=" and $test_tok ne "*="
6438 11660 32 13 $last_nonblank_type eq 'Z' && ($i == 0 || $$rtoken_type[$i - 1] eq 'b')
6510 148 363 6349 $type ne "b" and $type ne "#"
6687 440 185 8 $type_i eq ":" and $routput_indent_flag->[$ii] < 0
6817 342 0 395 $is_zero_continuation_block_type{$blk} || substr($blk, 0, 4) eq 'sub ' and not $self->[13]
6838 215 165 15 $space_count and ord substr($untrimmed_input_line, 0, 1) == 9
6865 215 101 79 $space_count and not defined $rhash->{'valid'}
6883 9 46 0 $guess == 0 and $adjust > 0
7070 2929 11 3 $tok eq "/" and $next_type eq "/"
2940 2 1 $tok eq "/" and $next_type eq "/" and $is_keyword_rejecting_slash_as_pattern_delimiter{$last_nonblank_token}
7085 2941 1 0 $tok eq "?" and $last_nonblank_token eq "split"
7141 436 13 19 substr($blk, -1, 1) eq ":" and $blk =~ /^\w+:$/
158 190 101 substr($blk, 0, 3) eq "sub" and $blk =~ /^sub\s/
342 0 6 substr($blk, 0, 7) eq "package" and $blk =~ /^package\s/
7218 182 0 135 $function_count and $function_count > 0
7238 43 0 0 $tok eq "x" and $next_type =~ /^[\(\$\@\%]$/
7259 31 8 0 $blank_after_Z and $next_type ne "b"
7311 362 2 115 $last_nonblank_token eq "}" and $last_nonblank_type eq $last_nonblank_token
7335 2 0 113 $block_type && !$is_sort_map_grep_eval_do_sub{$block_type}
7363 1346 0 98 $last_nonblank_token eq "{" and $last_nonblank_type eq $last_nonblank_token
1285 0 10 $last_nonblank_token eq "}" and $last_nonblank_type eq $last_nonblank_token
358 0 166 $last_nonblank_type eq "t" and substr($last_nonblank_token, 0, 3) eq "sub"
7431 295 252 0 $last_nonblank_type eq "k" and $last_nonblank_token eq 'if' || $last_nonblank_token eq 'unless'
7484 0 86 1 $paren_type and $is_sort_map_grep{$paren_type}
7566 8 0 169 defined $rpre_types and @{$rpre_types;}
7584 94 0 0 $pre_types[$j] eq "-" and $pre_types[++$j] eq "w"
7612 83 0 0 $pre_types[$j] eq "," and not $is_q_qq_qx_qr_s_y_tr_m{$pre_tokens[$jbeg]}
65 0 18 $pre_types[$j] eq "=" and $pre_types[++$j] eq ">"
7636 139 0 20 $code_block_type =~ /^\w/ and $code_block_type ne "method"
7669 0 0 0 $i_tok > 0 and $last_nonblank_i >= 0
7901 3430 2015 1 $aa == 0 and $saved_type eq "Z"
5445 0 1 $aa == 0 and $saved_type eq "Z" and $last_nonblank_type eq "w"
2015 0 1 $aa == 0 and $saved_type eq "Z" and $last_nonblank_type eq "w" and $rbrace_structural_type->[$brace_depth] eq "L"
7922 0 0 0 $saw_brace_error <= 6 and $diff > 0 || $saw_brace_error <= 0
8127 12 0 0 $last_nonblank_type eq "k" and $last_nonblank_token eq "split"
8299 0 0 0 $space_before && !$space_after
8503 0 1582 280 defined $1 and length $1
8519 158 122 0 not $sub_name and substr($package, -1, 1) eq "'"
8531 1525 57 0 $is_keyword{$tok} and $last_nonblank_type ne "->"
8537 0 786 1076 $type eq "w" and $last_nonblank_type ne "->"
8541 1045 29 2 substr($tok, 0, 1) eq "v" and $tok =~ /^v\d[_\d]*$/
1073 0 1 $last_nonblank_token eq "sort" and $last_nonblank_type eq "k"
298 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]}
8768 4 397 2 not $blank_line and $next_nonblank_token eq "\$"
401 0 2 not $blank_line and $next_nonblank_token eq "\$" and $id_scan_state eq "method"
8821 0 0 10 defined $type && $type
395 10 0 $id_scan_state and not defined $type && $type
8920 0 0 50 defined $1 && $1
9050 330 208 13 $container_type && $container_type =~ /^sub\b/
9070 198 26 0 $tok =~ /^[\@\%\&\*]$/ and $identifier =~ /\-\>$/
224 0 0 $tok eq "'" and $allow_tick
9114 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
9153 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]/
9278 43 0 3 $in_prototype_or_signature and $tok =~ /^[\),=#]/
2 0 6 $tok eq "*" and $identifier =~ /\-\>([\@\%\$\*\&]|\$\#)$/
9299 0 2 0 $id_scan_state eq $scan_state_SIGIL and $tok eq "#"
9370 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 /
9403 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 /
9486 17 0 0 $tok eq "'" and $allow_tick
9500 0 0 2 length $identifier == 1 and $i == $max_token_index
9568 0 0 0 $identifier eq "&" and $expecting
0 0 0 $identifier eq "&" and $expecting and $tok ne "#"
9712 21 99 1305 $i < $max_token_index and $id_scan_state
9746 1179 4 119 $tok eq ":" and $$rtokens[$i + 1] eq ":"
9793 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 "
9798 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/
9832 0 0 5 $id_scan_state_begin and $identifier =~ /^([\$\%\@\*\&]|->)/
9973 7 186 158 $call_type == 1 and $input_line =~ /\G\s*
9984 158 0 0 $last_nonblank_type eq 'k' && $is_my_our_state{$last_nonblank_token}
9985 158 0 0 $is_lexical_sub and $1
10026 0 152 6 defined $1 && $1
10061 0 339 12 $input_line =~ /\G(\s*\([^\)\(\}\{\,#A-Za-z=]*\))? # PROTO
10074 11 10 24 $proto and $match || $call_type == 3
10093 34 9 2 $tok eq "sub" and not $proto
10108 170 2 1 $pos == $pos_beg and $tok eq ":"
10129 170 0 2 $type eq "k" and $attrs
170 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/
10147 0 0 7 defined $rpre_tokens and @{$rpre_tokens;}
10162 125 0 0 $rsaw_function_definition->{$subname}{$package} and not $subname =~ /^[A-Z]+$/
10222 0 0 0 $rcall_hash->{'tok'} eq "method" and $call_type == 1
10272 388 61 9 $i == $max_token_index - 1 and $rtokens->[$max_token_index] =~ /^\s+$/
10288 0 0 458 defined $next_nonblank_token and length $next_nonblank_token
10293 157 301 0 $ord <= 33 || $ord >= 126 and $ord == 32 || $ord == 9 || $next_nonblank_token =~ /^\s+$/
10333 0 0 104 $next_nonblank_token and $next_nonblank_token ne " "
0 0 104 $next_nonblank_token and $next_nonblank_token ne " " and defined $$rtokens[$i_next + 1]
10620 7 0 0 $i_beg == 0 && $self->[21] == 1
10624 7 0 0 $str =~ /^<\?xml\s.*\?>$/i and $is_first_string
10823 557 16 38 substr($input_line, $pos - 1, 1) eq "." and substr($input_line, $pos, 1) eq "."
10836 363 16 0 $number =~ /^(.*)[eE]/ and not $1 =~ /\d/
10923 3 0 0 $next_token =~ /^\s*$/ and $expecting == -1
10970 6 0 0 $tokj eq "\\" and $j < $i - 1
6 0 0 $tokj eq "\\" and $j < $i - 1 and $$rtokens[$j + 1] eq $here_quote_character
11013 0 9 0 $found_target and $backslash
11168 0 2 2 $ii < $max_ii and $$rtoken_type[$ii + 1] eq "b"
11171 0 4 0 $ii < $max_ii and $$rtoken_type[$ii + 1] eq 'w' || $$rtoken_type[$ii + 1] eq '::'
11180 0 4 0 $ii < $max_ii and $$rtoken_type[$ii + 1] eq "b"
11183 0 0 4 $ii < $max_ii and $$rtokens[$ii + 1] eq "{"
11215 4 0 0 $$rtoken_type[$ii + 1] eq "~" and $ii < $max_ii - 2
11221 2 0 2 $$rtoken_type[$ii + 1] eq "b" and $ii < $max_ii - 2
11251 0 2 2 ++$ii <= $max_ii and $rtokens->[$ii] ne $quote_char
11253 1 1 0 $quote_char ne "'" and $rtokens->[$ii] eq "\\"
11321 2963 0 0 length $beginning_tok and not $beginning_tok =~ /^\s+$/
11342 2959 4 0 $tok eq "#" and $allow_quote_comments
11380 3204 2 1 not $is_punct_char{$beginning_tok} and $beginning_tok =~ /\w/
11457 19 1 431 $tok ne $end_tok and $tok ne $beginning_tok

or 2 conditions

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

or 3 conditions

line l !l&&r !l&&!r condition
937 0 0 649 $self->[7] || $self->[8]
940 0 0 649 $severe_error ||= $self->[10] && $self->[9]
1009 0 0 0 $self->[33] or $self->[32]
1309 0 0 649 $is_binary_or_unary_operator_type{$last_nonblank_type} or $last_nonblank_type eq "k" and $is_binary_or_unary_keyword{$last_nonblank_token}
1686 0 0 0 $self->[33] or $self->[32]
1770 7783 20 971 $self->[35] or $input_line =~ /^\s*$/
20 326 645 $self->[35] or $input_line =~ /^\s*$/ or $input_line =~ /^\s*#/
2672 0 0 0 $rtokens->[$i_plus_1] eq '{' || $rtokens->[$i_plus_1] eq '['
2686 31 12 37 $tok_begin eq '@' || $tok_begin eq '%'
2846 1 0 7 not $next_char or $next_char eq "#"
2922 1 0 11 not $next_char or $next_char eq "#"
3004 14 378 0 $typ_d eq '+' || $typ_d eq '-'
3015 27 2526 45 $i_d == $max_token_index || $i_d < $max_token_index && $$rtoken_type[$i_d + 1] ne '.' && $$rtoken_type[$i_d + 1] ne 'w'
3029 449 1778 57 $tok_d eq 0 or substr($tok_d, 0, 1) ne 0
3080 0 0 285 $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 285 $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}
3190 37 22 4774 $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 4729 $last_nonblank_type eq "w" or $last_nonblank_type eq "U"
22 0 4774 $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")
3587 43 5 1922 $statement_type eq 'case' || $statement_type eq 'when'
3694 0 0 0 $i_tok == 0 || $$rtoken_type[$i_tok - 1] eq 'b'
3746 43 5 1396 $statement_type eq "case" or $statement_type eq "when"
3749 4 0 44 not $block_type or $block_type eq "}"
3827 103 0 3 $expecting == -1 or $next_type ne "b"
4081 2 0 0 $next_type eq "w" or $next_type eq "{"
4664 4 64 1985 $tok eq "when" or $tok eq "case"
68 2 1983 $tok eq "when" or $tok eq "case" or $tok eq "default"
4675 33 0 0 $is_if_elsif_unless{$last_nonblank_block_type} or $last_nonblank_token eq ";" and $next_sequence_number == 2
4700 48 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
4891 0 0 1005 $tok eq "case" and $rbrace_type->[$brace_depth] eq "switch" or $tok eq "when" and $rbrace_type->[$brace_depth] eq "given"
4907 0 0 259 $tok eq "switch" or $tok eq "given"
5144 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/
5191 0 3 0 length $tok == 1 or substr($tok, 1, 1) =~ /^\d/
5361 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
5430 294 721 1611 $type eq "U" or $is_function_follower{$next_nonblank_token}
10 0 1601 $type eq "C" or $is_constant_follower{$next_nonblank_token}
5469 280 9 16 $last_nonblank_type ne 'k' || !$is_use_require_no{$last_nonblank_token}
5632 2 0 0 rindex($qs, '$', $pos_shift) != -1 || rindex($qs, '@', $pos_shift) != -1
5693 1 2 46 $saw_modifier_e ||= $char eq "e"
5943 2 0 882 substr($input_line, 0, 4) eq '#<<V' || $rOpts_code_skipping_begin
5962 18 21 843 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 826 substr($input_line, 0, 4) eq '#>>>' || $rOpts_format_skipping_end
6138 244 126 2800 $in_quote or $i > $max_token_index
6181 0 793 379 $last_nonblank_type eq "w" or $last_nonblank_type eq "i"
6267 6 0 40 $len == 4 and $text eq "#<<<" or $len > 4 and $text eq "#<<< "
6280 10 0 7 $is_sub{$id_scan_state} or $is_package{$id_scan_state}
6306 3 6 7 $i > 0 or $type
6346 0 0 1 not $blk or $blk ne ";"
6494 261 16 11401 $type eq ';' || $type eq ',' || $is_binary_operator_type{$type}
6659 4249 564 440 $type_i eq "{" or $type_i eq "L"
6687 4249 564 633 $type_i eq "}" or $type_i eq "R"
4813 8 625 $type_i eq "}" or $type_i eq "R" or $type_i eq ":" and $routput_indent_flag->[$ii] < 0
6817 306 89 342 $is_zero_continuation_block_type{$blk} || substr($blk, 0, 4) eq 'sub '
7121 2422 372 1346 $last_nonblank_token eq ")" or $last_nonblank_token eq "]"
7141 412 92 473 $is_zero_continuation_block_type{$blk} or $is_sort_map_grep{$blk}
92 5 468 $is_zero_continuation_block_type{$blk} or $is_sort_map_grep{$blk} or $is_grep_alias{$blk}
5 19 449 $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 101 348 $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/
101 27 321 $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/
7153 84 190 68 $is_block_operator{$blk} or $is_sub{$blk}
7341 183 42 139 $last_nonblank_type eq ';' || $last_nonblank_type eq 'J'
7363 542 0 709 $is_code_block_token{$last_nonblank_token} or $is_grep_alias{$last_nonblank_token}
10 170 524 $last_nonblank_type eq "P" or $last_nonblank_type eq "S"
180 0 524 $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"
7431 0 0 252 $last_nonblank_token eq 'if' || $last_nonblank_token eq 'unless'
7612 0 23 60 $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 ">"
7742 885 0 1937 $is_sigil_or_paren{substr($last_nonblank_token, 0, 1)} || substr($last_nonblank_token, 0, 2) eq '->' || $is_R_closing_sb{$last_nonblank_type}
7922 0 0 0 $diff > 0 || $saw_brace_error <= 0
7937 0 0 0 $diff == 1 or $diff == -1
8127 0 0 12 $is_non_ternary_pretok{$next_nonblank_token} or $last_nonblank_type eq "k" and $last_nonblank_token eq "split"
8199 0 0 0 $s_quote % 2 or $d_quote % 2
0 0 0 $s_quote % 2 or $d_quote % 2 or $colons
8297 0 0 0 $i < 2 || $$rtokens[$i - 2] =~ /^\s/
8541 4 0 753 $is_indirect_object_taker{$last_nonblank_token} || $last_nonblank_token eq '(' && $is_indirect_object_taker{$rparen_type->[$paren_depth]}
8622 0 4 0 pos $input_line == length $input_line or $input_line =~ /\G[;\s]/cg
9114 4 0 96 $last_tok_is_blank || $in_prototype_or_signature
95 1 0 $identifier =~ /^[\%\@\$\*]$/ || $identifier =~ /\$$/
9153 31 6 10 $identifier eq '$' || $identifier eq '@' || $identifier eq '$#'
9177 31 0 15 $identifier eq "\$" or $i == 0
9510 15 0 0 $identifier eq "&" or $i == 0
9645 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"
10061 34 11 306 $1 || $2
10074 22 2 10 $match || $call_type == 3
10293 301 0 157 $ord <= 33 || $ord >= 126
301 0 0 $ord == 32 || $ord == 9 || $next_nonblank_token =~ /^\s+$/
10391 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 "}"
10460 0 0 0 $next_nonblank_token =~ /^\s*$/ or $next_nonblank_token eq "#"
10579 1 0 0 substr($last_nonblank_token, 0, 1) =~ /[A-Za-z_]/ or substr($str, 1, 1) =~ /[A-Za-z_]/
10689 0 0 0 $br or $sb
0 0 0 $br or $sb or $pr
10836 304 0 379 not $number =~ /\d/ or $number =~ /^(.*)[eE]/ and not $1 =~ /\d/
11166 4 0 0 $token eq "\$" or $token eq "\@"
11171 0 0 4 $$rtoken_type[$ii + 1] eq 'w' || $$rtoken_type[$ii + 1] eq '::'
11202 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 "<"
11229 1 1 0 $next_type eq "'" or $next_type eq "\""
2 0 0 $next_type eq "'" or $next_type eq "\"" or $next_type eq "`"
11321 244 0 2963 $is_punct_char{$beginning_tok} or length $beginning_tok and not $beginning_tok =~ /^\s+$/
11392 3 0 1 $quote_pos == 0 or $i < 0
11588 0 0 0 $pos < 0 or $pos > length $underline