use strict; use warnings; for my $a (0,1) { for my $b (0,1) { for my $c (0,1) { print "a=$a, b=$b, c=$c\n"; print "true1\n" if ($a and $b) or $c; print "true2\n" if ($a and $b) || $c; print "true3\n" if $a and $b or $c; } } } "test.pl" 13 lines, 265 characters peters@ronin:~> perl test.pl a=0, b=0, c=0 a=0, b=0, c=1 true1 true2 true3 a=0, b=1, c=0 a=0, b=1, c=1 true1 true2 true3 a=1, b=0, c=0 a=1, b=0, c=1 true1 true2 true3 a=1, b=1, c=0 true1 true2 true3 a=1, b=1, c=1 true1 true2 true3