The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Reading database from ...


------------------------------------------ ------ ------ ------ ------ ------
File                                         stmt   bran   cond    sub  total
------------------------------------------ ------ ------ ------ ------ ------
tests/cond_and                               96.3   50.0   55.6  100.0   78.4
Total                                        96.3   50.0   55.6  100.0   78.4
------------------------------------------ ------ ------ ------ ------ ------


Run: ...
Perl version: ...
OS: ...
Start: ...
Finish: ...

tests/cond_and

line  err   stmt   bran   cond    sub   code
1                                       #!/usr/bin/perl
2                                       
3                                       # Copyright 2002-2012, Paul Johnson (paul@pjcj.net)
4                                       
5                                       # This software is free.  It is licensed under the same terms as Perl itself.
6                                       
7                                       # The latest version of this software should be available from my homepage:
8                                       # http://www.pjcj.net
9                                       
10             1                    1   use strict;
               1                        
               1                        
11             1                    1   use warnings;
               1                        
               1                        
12                                      
13             1                        my @x;
14                                      
15             1                        my $y = 1;
16             1                        my $z = 0;
17                                      
18             1                        for (0 .. 10)
              11                        
19                                      {
20    ***     11     50                   $y &&
21                                          $x[1]++;
22                                      
23    ***     11    100     66            $y &&
24                                          $x[0]++ &&
25                                          $x[1]++;
26                                      
27    ***     11     50                   $x[2]++
28                                          if $z;
29                                      
30            11                          for (0 .. 2)
              33                        
31                                        {
32            33                              $x[3]++;
33                                        }
34                                      
35    ***     11     50                   if ($y)
36                                        {
37            11                            $x[4]++;
38                                        }
39                                        else
40                                        {
41    ***      0      0                     $y && $x[5]++;
42                                        }
43                                      
44            11                          my $p = $y & $z;
45                                      
46    ***     11            50            $p &&= $y;
47    ***     11            50            $p &&= $z;
48            11                          my $q = 1;
49    ***     11            50            $q &&= $_;
50                                      
51            11                          pas();
52                                      }
53                                      
54                                      sub pas
55                                      {
56    ***     11     50            11       $y && $z
57                                      }
58                                      
59                                      # print join(", ", @x), "\n";


Branches
--------

line  err      %   true  false   branch
----- --- ------ ------ ------   ------
20    ***     50     11      0   if $y
23           100     10      1   if $y and $x[0]++
27    ***     50      0     11   if $z
35    ***     50     11      0   if ($y) { }
41    ***      0      0      0   if $y
56    ***     50     11      0   if $y


Conditions
----------

and 2 conditions

line  err      %      l     !l   expr
----- --- ------ ------ ------   ----
46    ***     50     11      0   $p &&= $y
47    ***     50     11      0   $p &&= $z
49    ***     50      0     11   $q &&= $_

and 3 conditions

line  err      %     !l  l&&!r   l&&r   expr
----- --- ------ ------ ------ ------   ----
23    ***     66      0      1     10   $y and $x[0]++


Covered Subroutines
-------------------

Subroutine Count Location         
---------- ----- -----------------
BEGIN          1 tests/cond_and:10
BEGIN          1 tests/cond_and:11
pas           11 tests/cond_and:56