fix skipspace() to properly account for newlines in eval''-ed
[p5sagit/p5-mst-13.2.git] / t / pragma / warn / pp_ctl
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
59 use warning 'syntax' ;
60 format STDOUT =
61 @<<< @<<<
62 1
63 .
64 write;
65 EXPECT
66 Not enough format arguments at - line 5.
67 1
68 ########
69 # pp_ctl.c
70 use warning 'unsafe' ;
71 $_ = "abc" ;
72  
73 while ($i ++ == 0)
74 {
75     s/ab/last/e ;
76 }
77 EXPECT
78 Exiting substitution via last at - line 7.
79 ########
80 # pp_ctl.c
81 use warning 'unsafe' ;
82 sub fred { last }
83 { fred() }
84 EXPECT
85 Exiting subroutine via last at - line 3.
86 ########
87 # pp_ctl.c
88 use warning 'unsafe' ;
89 { eval "last;" } 
90 print STDERR $@ ;
91 EXPECT
92 Exiting eval via last at (eval 1) line 1.
93 ########
94 # pp_ctl.c
95 use warning 'unsafe' ;
96 @a = (1,2) ;
97 @b = sort { last } @a ;
98 EXPECT
99 Exiting pseudo-block via last at - line 4.
100 Can't "last" outside a block at - line 4.
101 ########
102 # pp_ctl.c
103 use warning 'unsafe' ;
104 $_ = "abc" ;
105 fred: 
106 while ($i ++ == 0)
107 {
108     s/ab/last fred/e ;
109 }
110 EXPECT
111 Exiting substitution via last at - line 7.
112 ########
113 # pp_ctl.c
114 use warning 'unsafe' ;
115 sub fred { last joe }
116 joe: { fred() }
117 EXPECT
118 Exiting subroutine via last at - line 3.
119 ########
120 # pp_ctl.c
121 use warning 'unsafe' ;
122 joe: { eval "last joe;" }
123 print STDERR $@ ;
124 EXPECT
125 Exiting eval via last at (eval 1) line 1.
126 ########
127 # pp_ctl.c
128 use warning 'unsafe' ;
129 @a = (1,2) ;
130 fred: @b = sort { last fred } @a ;
131 EXPECT
132 Exiting pseudo-block via last at - line 4.
133 Label not found for "last fred" at - line 4.
134 ########
135 # pp_ctl.c
136 use warning 'recursion' ;
137 BEGIN { warn "PREFIX\n" ;}
138 sub fred
139 {
140     goto &fred() if $a++ < 200
141 }
142  
143 goto &fred()
144 EXPECT
145 Deep recursion on subroutine "main::fred" at - line 6.