1
use Language::INTERCAL;
2
use Language::INTERCAL::Runtime::Library;
7
M�]@���}�@���������@M�]
11
��@���������@�����������@N@�������
13
������@���}�@����@���@K�
19
fiddle Language::INTERCAL 'bug=0', 'ubug=0';
23
compile Language::INTERCAL 'prog', $prog;
25
eval { prog(0, \&foo) };
27
print $@ ? "not " : "", "ok 1\n";
28
print @foo == 2 ? "" : "not ", "ok 2\n";
29
print "II\n" eq (shift @foo) ? "" : "not ", "ok 3\n";
30
print "II\n" eq (shift @foo) ? "" : "not ", "ok 4\n";
32
compile Language::INTERCAL 'prog_o', $prog, 'opt';
34
eval { prog_o(0, \&foo) };
36
print $@ ? "not " : "", "ok 5\n";
37
print @foo == 2 ? "" : "not ", "ok 6\n";
38
print "II\n" eq (shift @foo) ? "" : "not ", "ok 7\n";
39
print "II\n" eq (shift @foo) ? "" : "not ", "ok 8\n";
41
compile Language::INTERCAL 'prog_q', $prog, 'quantum';
43
eval { prog_q(0, \&foo) };
45
print $@ ? "not " : "", "ok 9\n";
46
print @foo == 2 ? "" : "not ", "ok 10\n";
47
print "II\n" eq (shift @foo) ? "" : "not ", "ok 11\n";
48
print "II\n" eq (shift @foo) ? "" : "not ", "ok 12\n";
50
compile Language::INTERCAL 'prog_p', $prog, 'post';
52
eval { prog_p(0, \&foo) };
54
print $@ ? "not " : "", "ok 13\n";
55
print @foo == 2 ? "" : "not ", "ok 14\n";
56
print "II\n" eq (shift @foo) ? "" : "not ", "ok 15\n";
57
print "II\n" eq (shift @foo) ? "" : "not ", "ok 16\n";
59
compile Language::INTERCAL 'prog_qp', $prog, 'quantum', 'post';
61
eval { prog_qp(0, \&foo) };
63
print $@ ? "not " : "", "ok 17\n";
64
print @foo == 2 ? "" : "not ", "ok 18\n";
65
print "II\n" eq (shift @foo) ? "" : "not ", "ok 19\n";
66
print "II\n" eq (shift @foo) ? "" : "not ", "ok 20\n";
68
compile Language::INTERCAL 'prog_d', $prog, 'dbhook';
70
_run_db(prog_d(0, \&foo));
72
print $@ ? "not " : "", "ok 21\n";
73
print @foo == 2 ? "" : "not ", "ok 22\n";
74
print "II\n" eq (shift @foo) ? "" : "not ", "ok 23\n";
75
print "II\n" eq (shift @foo) ? "" : "not ", "ok 24\n";
78
push @foo, join('', @_);