allow C<sort $coderef @foo>
[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
a99e4ac2 56 (in cleanup) foo bar
57 package Foo;
58 DESTROY { die "foo bar" }
59 { bless [], 'Foo' for 1..10 }
599cee73 60
61__END__
62# pp_ctl.c
63use warning 'syntax' ;
64format STDOUT =
65@<<< @<<<
661
67.
68write;
69EXPECT
70Not enough format arguments at - line 5.
711
72########
73# pp_ctl.c
74use warning 'unsafe' ;
75$_ = "abc" ;
76
77while ($i ++ == 0)
78{
79 s/ab/last/e ;
80}
81EXPECT
82Exiting substitution via last at - line 7.
83########
84# pp_ctl.c
85use warning 'unsafe' ;
86sub fred { last }
87{ fred() }
88EXPECT
89Exiting subroutine via last at - line 3.
90########
91# pp_ctl.c
92use warning 'unsafe' ;
60e6418e 93{ eval "last;" }
599cee73 94print STDERR $@ ;
95EXPECT
96Exiting eval via last at (eval 1) line 1.
97########
98# pp_ctl.c
99use warning 'unsafe' ;
100@a = (1,2) ;
101@b = sort { last } @a ;
102EXPECT
103Exiting pseudo-block via last at - line 4.
104Can't "last" outside a block at - line 4.
105########
106# pp_ctl.c
107use warning 'unsafe' ;
108$_ = "abc" ;
109fred:
110while ($i ++ == 0)
111{
112 s/ab/last fred/e ;
113}
114EXPECT
115Exiting substitution via last at - line 7.
116########
117# pp_ctl.c
118use warning 'unsafe' ;
119sub fred { last joe }
120joe: { fred() }
121EXPECT
122Exiting subroutine via last at - line 3.
123########
124# pp_ctl.c
125use warning 'unsafe' ;
60e6418e 126joe: { eval "last joe;" }
599cee73 127print STDERR $@ ;
128EXPECT
60e6418e 129Exiting eval via last at (eval 1) line 1.
599cee73 130########
131# pp_ctl.c
132use warning 'unsafe' ;
133@a = (1,2) ;
134fred: @b = sort { last fred } @a ;
135EXPECT
136Exiting pseudo-block via last at - line 4.
137Label not found for "last fred" at - line 4.
138########
139# pp_ctl.c
140use warning 'recursion' ;
141BEGIN { warn "PREFIX\n" ;}
142sub fred
143{
144 goto &fred() if $a++ < 200
145}
146
147goto &fred()
148EXPECT
149Deep recursion on subroutine "main::fred" at - line 6.
a99e4ac2 150########
151# pp_ctl.c
152use warning 'unsafe' ;
153package Foo;
154DESTROY { die "@{$_[0]} foo bar" }
155{ bless ['A'], 'Foo' for 1..10 }
156EXPECT
157 (in cleanup) A foo bar at - line 4.