ensure PL_dirty is reinit-ed properly under -DMULTIPLICITY
[p5sagit/p5-mst-13.2.git] / t / pragma / warn / pp_ctl
CommitLineData
599cee73 1 pp_ctl.c AOK
2
3 Not enough format arguments
4 format STDOUT =
5 @<<< @<<<
6 $a
7 .
8 write;
9
10
11 Exiting substitution via %s
12 $_ = "abc" ;
13 while ($i ++ == 0)
14 {
15 s/ab/last/e ;
16 }
17
18 Exiting subroutine via %s
19 sub fred { last }
20 { fred() }
21
22 Exiting eval via %s
23 { eval "last" }
24
25 Exiting pseudo-block via %s
26 @a = (1,2) ; @b = sort { last } @a ;
27
28 Exiting substitution via %s
29 $_ = "abc" ;
30 last fred:
31 while ($i ++ == 0)
32 {
33 s/ab/last fred/e ;
34 }
35
36
37 Exiting subroutine via %s
38 sub fred { last joe }
39 joe: { fred() }
40
41 Exiting eval via %s
42 fred: { eval "last fred" }
43
44 Exiting pseudo-block via %s
45 @a = (1,2) ; fred: @b = sort { last fred } @a ;
46
47
48 Deep recursion on subroutine \"%s\"
49 sub fred
50 {
51 goto &fred() if $a++ < 200
52 }
53
54 goto &fred()
55
56
57__END__
58# pp_ctl.c
59use warning 'syntax' ;
60format STDOUT =
61@<<< @<<<
621
63.
64write;
65EXPECT
66Not enough format arguments at - line 5.
671
68########
69# pp_ctl.c
70use warning 'unsafe' ;
71$_ = "abc" ;
72
73while ($i ++ == 0)
74{
75 s/ab/last/e ;
76}
77EXPECT
78Exiting substitution via last at - line 7.
79########
80# pp_ctl.c
81use warning 'unsafe' ;
82sub fred { last }
83{ fred() }
84EXPECT
85Exiting subroutine via last at - line 3.
86########
87# pp_ctl.c
88use warning 'unsafe' ;
60e6418e 89{ eval "last;" }
599cee73 90print STDERR $@ ;
91EXPECT
92Exiting eval via last at (eval 1) line 1.
93########
94# pp_ctl.c
95use warning 'unsafe' ;
96@a = (1,2) ;
97@b = sort { last } @a ;
98EXPECT
99Exiting pseudo-block via last at - line 4.
100Can't "last" outside a block at - line 4.
101########
102# pp_ctl.c
103use warning 'unsafe' ;
104$_ = "abc" ;
105fred:
106while ($i ++ == 0)
107{
108 s/ab/last fred/e ;
109}
110EXPECT
111Exiting substitution via last at - line 7.
112########
113# pp_ctl.c
114use warning 'unsafe' ;
115sub fred { last joe }
116joe: { fred() }
117EXPECT
118Exiting subroutine via last at - line 3.
119########
120# pp_ctl.c
121use warning 'unsafe' ;
60e6418e 122joe: { eval "last joe;" }
599cee73 123print STDERR $@ ;
124EXPECT
60e6418e 125Exiting eval via last at (eval 1) line 1.
599cee73 126########
127# pp_ctl.c
128use warning 'unsafe' ;
129@a = (1,2) ;
130fred: @b = sort { last fred } @a ;
131EXPECT
132Exiting pseudo-block via last at - line 4.
133Label not found for "last fred" at - line 4.
134########
135# pp_ctl.c
136use warning 'recursion' ;
137BEGIN { warn "PREFIX\n" ;}
138sub fred
139{
140 goto &fred() if $a++ < 200
141}
142
143goto &fred()
144EXPECT
145Deep recursion on subroutine "main::fred" at - line 6.