1
use Language::INTERCAL;
2
use Language::INTERCAL::Runtime::Library;
5
��@�������@����@������@����
10
M��] ������@����@����@M�]
14
M�] ������@���������@������@����
21
M��] ������@����@����@{�@J@{�
28
fiddle Language::INTERCAL 'bug=0', 'ubug=0';
32
compile Language::INTERCAL 'prog', $prog;
34
eval { prog(0, \&foo) };
36
print $@ ? "not " : "", "ok 1\n";
37
print @foo == 3 ? "" : "not ", "ok 2\n";
38
print "II\n" eq (shift @foo) ? "" : "not ", "ok 3\n";
39
print "II\n" eq (shift @foo) ? "" : "not ", "ok 4\n";
40
print "II\n" eq (shift @foo) ? "" : "not ", "ok 5\n";
42
compile Language::INTERCAL 'prog_o', $prog, 'opt';
44
eval { prog_o(0, \&foo) };
46
print $@ ? "not " : "", "ok 6\n";
47
print @foo == 3 ? "" : "not ", "ok 7\n";
48
print "II\n" eq (shift @foo) ? "" : "not ", "ok 8\n";
49
print "II\n" eq (shift @foo) ? "" : "not ", "ok 9\n";
50
print "II\n" eq (shift @foo) ? "" : "not ", "ok 10\n";
52
compile Language::INTERCAL 'prog_q', $prog, 'quantum';
54
eval { prog_q(0, \&foo) };
56
print $@ ? "not " : "", "ok 11\n";
57
print @foo == 3 ? "" : "not ", "ok 12\n";
58
print "II\n" eq (shift @foo) ? "" : "not ", "ok 13\n";
59
print "II\n" eq (shift @foo) ? "" : "not ", "ok 14\n";
60
print "II\n" eq (shift @foo) ? "" : "not ", "ok 15\n";
62
compile Language::INTERCAL 'prog_p', $prog, 'post';
64
eval { prog_p(0, \&foo) };
66
print $@ ? "not " : "", "ok 16\n";
67
print @foo == 3 ? "" : "not ", "ok 17\n";
68
print "II\n" eq (shift @foo) ? "" : "not ", "ok 18\n";
69
print "II\n" eq (shift @foo) ? "" : "not ", "ok 19\n";
70
print "II\n" eq (shift @foo) ? "" : "not ", "ok 20\n";
72
compile Language::INTERCAL 'prog_qp', $prog, 'quantum', 'post';
74
eval { prog_qp(0, \&foo) };
76
print $@ ? "not " : "", "ok 21\n";
77
print @foo == 3 ? "" : "not ", "ok 22\n";
78
print "II\n" eq (shift @foo) ? "" : "not ", "ok 23\n";
79
print "II\n" eq (shift @foo) ? "" : "not ", "ok 24\n";
80
print "II\n" eq (shift @foo) ? "" : "not ", "ok 25\n";
82
compile Language::INTERCAL 'prog_d', $prog, 'dbhook';
84
_run_db(prog_d(0, \&foo));
86
print $@ ? "not " : "", "ok 26\n";
87
print @foo == 3 ? "" : "not ", "ok 27\n";
88
print "II\n" eq (shift @foo) ? "" : "not ", "ok 28\n";
89
print "II\n" eq (shift @foo) ? "" : "not ", "ok 29\n";
90
print "II\n" eq (shift @foo) ? "" : "not ", "ok 30\n";
93
push @foo, join('', @_);