This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Move ‘Scalar value better written as’ tests from toke to op
[perl5.git] / t / cmd / mod.t
CommitLineData
8d063cd8
LW
1#!./perl
2
59110972 3print "1..13\n";
8d063cd8
LW
4
5print "ok 1\n" if 1;
6print "not ok 1\n" unless 1;
7
8print "ok 2\n" unless 0;
9print "not ok 2\n" if 0;
10
111 && (print "not ok 3\n") if 0;
121 && (print "ok 3\n") if 1;
130 || (print "not ok 4\n") if 0;
140 || (print "ok 4\n") if 1;
15
16$x = 0;
17do {$x[$x] = $x;} while ($x++) < 10;
18if (join(' ',@x) eq '0 1 2 3 4 5 6 7 8 9 10') {
19 print "ok 5\n";
20} else {
79072805 21 print "not ok 5 @x\n";
8d063cd8
LW
22}
23
24$x = 15;
25$x = 10 while $x < 10;
26if ($x == 15) {print "ok 6\n";} else {print "not ok 6\n";}
a687059c 27
ecca16b0
CS
28$y[$_] = $_ * 2 foreach @x;
29if (join(' ',@y) eq '0 2 4 6 8 10 12 14 16 18 20') {
30 print "ok 7\n";
31} else {
32 print "not ok 7 @y\n";
33}
34
2b17841a 35open(foo,'./TEST') || open(foo,'TEST') || open(foo,'t/TEST');
a687059c
LW
36$x = 0;
37$x++ while <foo>;
ecca16b0 38print $x > 50 && $x < 1000 ? "ok 8\n" : "not ok 8\n";
1aec8766 39
40$x = -0.5;
41print "not " if scalar($x) < 0 and $x >= 0;
ecca16b0 42print "ok 9\n";
1aec8766 43
44print "not " unless (-(-$x) < 0) == ($x < 0);
ecca16b0 45print "ok 10\n";
1aec8766 46
ecca16b0
CS
47print "ok 11\n" if $x < 0;
48print "not ok 11\n" unless $x < 0;
1aec8766 49
ecca16b0
CS
50print "ok 12\n" unless $x > 0;
51print "not ok 12\n" if $x > 0;
1aec8766 52
59110972
RH
53# This used to cause a segfault
54$x = "".("".do{"foo" for (1)});
55print "ok 13\n";