The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl

# Copyright 2002-2017, Paul Johnson (paul@pjcj.net)

# This software is free.  It is licensed under the same terms as Perl itself.

# The latest version of this software should be available from my homepage:
# http://www.pjcj.net

# __COVER__ skip_test $] < 5.008 || $^O eq "cygwin"
# __COVER__ skip_reason Busted on 5.6 and cygwin

use strict;
use warnings;

my @x;

my $y  = 1;
my $z  = 0;
$::foo = 17;

if ($] >= 5.009) {
    $ENV{PATH} = "/bin";
    system "pwd";
    use lib "tests";
    my $file = "cond_or.pl";
    unless (my $return = do $file) {
        die "couldn't parse $file: $@" if $@;
        die "couldn't do $file: $!"    unless defined $return;
        die "couldn't run $file"       unless $return;
    }
}

for my $i (0 .. 10) {
    $y ||
        $x[1]++;

    $y ||
        $x[0]++ ||
        $x[1]++;

    $x[2]++
        unless $z;

    for (0 .. 2) {
        $x[3]++;
    }

    if ($z) {
        $x[4]++;
    } else {
        $x[5]++;
    }

    my $p = $y || $z;
    my $q = $z || $y;
    my $r = $i || "qqq";
    my $s = $i || [];
    my $t = $y | $z;
    my $u = $y || 0;
    my $v = $y || undef;
    my $w = $z || 0;

    $p     ||= $y;
    $p     ||= $z;
    $x[ 6] ||= $y;
    $x[ 7] ||= $z;
    $x[ 8] ||= 1;
    $x[ 9] ||= {};
    $x[10] ||= \"foo";
    $x[11] ||= \$y;
    $x[12] ||= \*STDIO;
    $x[13] ||= sub { 1 };
    $x[14] ||= *::foo{SCALAR};
    $x[15] ||= *STDIO{IO};
    $x[16] ||= bless {}, "XXX";
    $x[17] ||= $i == 1;
    $w     ||= ref($i) eq "SCALAR";
    $x[18] ||= <<"EOD";
blah
EOD
    cond_dor(\@x) if exists &cond_dor;
    sub { $x[19] ||= 1 };
}

# print join(", ", @x), "\n";