1
use Language::INTERCAL;
2
use Language::INTERCAL::Runtime::Library;
6
M�] ������@�������@����@M�]@�����@�����������@��
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 "IV\n" eq (shift @foo) ? "" : "not ", "ok 3\n";
30
print "XLII\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 "IV\n" eq (shift @foo) ? "" : "not ", "ok 7\n";
39
print "XLII\n" eq (shift @foo) ? "" : "not ", "ok 8\n";
41
compile Language::INTERCAL 'prog_p', $prog, 'post';
43
eval { prog_p(0, \&foo) };
45
print $@ ? "not " : "", "ok 9\n";
46
print @foo == 2 ? "" : "not ", "ok 10\n";
47
print "IV\n" eq (shift @foo) ? "" : "not ", "ok 11\n";
48
print "XLII\n" eq (shift @foo) ? "" : "not ", "ok 12\n";
50
compile Language::INTERCAL 'prog_d', $prog, 'dbhook';
52
_run_db(prog_d(0, \&foo));
54
print $@ ? "not " : "", "ok 13\n";
55
print @foo == 2 ? "" : "not ", "ok 14\n";
56
print "IV\n" eq (shift @foo) ? "" : "not ", "ok 15\n";
57
print "XLII\n" eq (shift @foo) ? "" : "not ", "ok 16\n";
60
push @foo, join('', @_);