Commit | Line | Data |
1d0ef875 |
1 | #!./perl |
2 | |
d2ccd3cb |
3 | print "1..9\n"; |
1d0ef875 |
4 | sub context { |
5 | my ( $cona, $testnum ) = @_; |
6 | my $conb = (defined wantarray) ? ( wantarray ? 'A' : 'S' ) : 'V'; |
7 | unless ( $cona eq $conb ) { |
8 | print "# Context $conb should be $cona\nnot "; |
9 | } |
10 | print "ok $testnum\n"; |
11 | } |
12 | |
13 | context('V',1); |
14 | $a = context('S',2); |
15 | @a = context('A',3); |
d6483035 |
16 | scalar context('S',4); |
17 | $a = scalar context('S',5); |
18 | ($a) = context('A',6); |
19 | ($a) = scalar context('S',7); |
d2ccd3cb |
20 | |
21 | { |
22 | # [ID 20020626.011] incorrect wantarray optimisation |
23 | sub simple { wantarray ? 1 : 2 } |
24 | sub inline { |
25 | my $a = wantarray ? simple() : simple(); |
26 | $a; |
27 | } |
28 | my @b = inline(); |
29 | my $c = inline(); |
30 | print +(@b == 1 && "@b" eq "2") ? "ok 8\n" : "not ok 8\t# <@b>\n"; |
31 | print +($c == 2) ? "ok 9\n" : "not ok 9\t# <$c>\n"; |
32 | } |
33 | |
1d0ef875 |
34 | 1; |