perl 2.0 patch 1: removed redundant debugging code in regexp.c
[p5sagit/p5-mst-13.2.git] / t / cmd.subval
CommitLineData
8d063cd8 1#!./perl
2
378cc40b 3# $Header: cmd.subval,v 2.0 88/06/05 00:12:26 root Exp $
8d063cd8 4
5sub foo1 {
6 'true1';
7 if ($_[0]) { 'true2'; }
8}
9
10sub foo2 {
11 'true1';
12 if ($_[0]) { 'true2'; } else { 'true3'; }
13}
14
15sub foo3 {
16 'true1';
17 unless ($_[0]) { 'true2'; }
18}
19
20sub foo4 {
21 'true1';
22 unless ($_[0]) { 'true2'; } else { 'true3'; }
23}
24
25sub foo5 {
26 'true1';
27 'true2' if $_[0];
28}
29
30sub foo6 {
31 'true1';
32 'true2' unless $_[0];
33}
34
378cc40b 35print "1..22\n";
8d063cd8 36
37if (do foo1(0) eq '') {print "ok 1\n";} else {print "not ok 1\n";}
38if (do foo1(1) eq 'true2') {print "ok 2\n";} else {print "not ok 2\n";}
39if (do foo2(0) eq 'true3') {print "ok 3\n";} else {print "not ok 3\n";}
40if (do foo2(1) eq 'true2') {print "ok 4\n";} else {print "not ok 4\n";}
41
42if (do foo3(0) eq 'true2') {print "ok 5\n";} else {print "not ok 5\n";}
43if (do foo3(1) eq '') {print "ok 6\n";} else {print "not ok 6\n";}
44if (do foo4(0) eq 'true2') {print "ok 7\n";} else {print "not ok 7\n";}
45if (do foo4(1) eq 'true3') {print "ok 8\n";} else {print "not ok 8\n";}
46
47if (do foo5(0) eq '') {print "ok 9\n";} else {print "not ok 9\n";}
48if (do foo5(1) eq 'true2') {print "ok 10\n";} else {print "not ok 10\n";}
49if (do foo6(0) eq 'true2') {print "ok 11\n";} else {print "not ok 11\n";}
50if (do foo6(1) eq '') {print "ok 12\n";} else {print "not ok 12\n";}
378cc40b 51
52# Now test to see that recursion works using a Fibonacci number generator
53
54sub fib {
55 local($arg) = @_;
56 local($foo);
57 $level++;
58 if ($arg <= 2) {
59 $foo = 1;
60 }
61 else {
62 $foo = do fib($arg-1) + do fib($arg-2);
63 }
64 $level--;
65 $foo;
66}
67
68@good = (0,1,1,2,3,5,8,13,21,34,55,89);
69
70for ($i = 1; $i <= 10; $i++) {
71 $foo = $i + 12;
72 if (do fib($i) == $good[$i]) {
73 print "ok $foo\n";
74 }
75 else {
76 print "not ok $foo\n";
77 }
78}