This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl 5.0 alpha 5
[perl5.git] / t / op / goto.t
CommitLineData
8d063cd8
LW
1#!./perl
2
79072805 3# $RCSfile: goto.t,v $$Revision: 4.1 $$Date: 92/08/07 18:27:56 $
8d063cd8 4
79072805 5print "1..5\n";
8d063cd8 6
79072805 7while ($?) {
8d063cd8
LW
8 $foo = 1;
9 label1:
10 $foo = 2;
11 goto label2;
12} continue {
13 $foo = 0;
14 goto label4;
15 label3:
16 $foo = 4;
17 goto label4;
18}
19goto label1;
20
21$foo = 3;
22
23label2:
24print "#1\t:$foo: == 2\n";
25if ($foo == 2) {print "ok 1\n";} else {print "not ok 1\n";}
26goto label3;
27
28label4:
29print "#2\t:$foo: == 4\n";
30if ($foo == 4) {print "ok 2\n";} else {print "not ok 2\n";}
31
32$x = `./perl -e 'goto foo;' 2>&1`;
8d063cd8 33if ($x =~ /label/) {print "ok 3\n";} else {print "not ok 3\n";}
79072805
LW
34
35sub foo {
36 goto bar;
37 print "not ok 4\n";
38 return;
39bar:
40 print "ok 4\n";
41}
42
43&foo;
44
45sub bar {
46 $x = 'exitcode';
47 eval "goto $x"; # Do not take this as exemplary code!!!
48}
49
50&bar;
51exit;
52exitcode:
53print "ok 5\n";