|
Server : Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4 System : Linux server.jackjohnson.com 2.6.32-279.5.2.el6.x86_64 #1 SMP Fri Aug 24 01:07:11 UTC 2012 x86_64 User : jackjohn ( 502) PHP Version : 5.3.17 Disable Function : NONE Directory : /installd/perl588installer/perl-5.8.8/t/op/ |
Upload File : |
#!./perl
#
# test the logical operators '&&', '||', '!', 'and', 'or', 'not'
#
BEGIN {
chdir 't' if -d 't';
@INC = '../lib';
}
print "1..7\n";
my $test = 0;
for my $i (undef, 0 .. 2, "", "0 but true") {
my $true = 1;
my $false = 0;
for my $j (undef, 0 .. 2, "", "0 but true") {
$true &&= !(
((!$i || !$j) != !($i && $j))
or (!($i || $j) != (!$i && !$j))
or (!!($i || $j) != !(!$i && !$j))
or (!(!$i || !$j) != !!($i && $j))
);
$false ||= (
((!$i || !$j) == !!($i && $j))
and (!!($i || $j) == (!$i && !$j))
and ((!$i || $j) == ($i && !$j))
and (($i || !$j) != (!$i && $j))
);
}
if (not $true) {
print "not ";
} elsif ($false) {
print "not ";
}
print "ok ", ++$test, "\n";
}
# $test == 6
my $i = 0;
(($i ||= 1) &&= 3) += 4;
print "not " unless $i == 7;
print "ok ", ++$test, "\n";