source: trunk/essentials/dev-lang/perl/t/lib/warnings/pp_ctl

Last change on this file was 3181, checked in by bird, 19 years ago

perl 5.8.8

File size: 3.6 KB
Line 
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 fred() if $a++ < 200
52 }
53
54 fred()
55
56 (in cleanup) foo bar
57 package Foo;
58 DESTROY { die "foo bar" }
59 { bless [], 'Foo' for 1..10 }
60
61__END__
62# pp_ctl.c
63use warnings 'syntax' ;
64format STDOUT =
65@<<< @<<<
661
67.
68write;
69EXPECT
70Not enough format arguments at - line 5.
711
72########
73# pp_ctl.c
74no warnings 'syntax' ;
75format =
76@<<< @<<<
771
78.
79write ;
80EXPECT
811
82########
83# pp_ctl.c
84use warnings 'exiting' ;
85$_ = "abc" ;
86
87while ($i ++ == 0)
88{
89 s/ab/last/e ;
90}
91no warnings 'exiting' ;
92while ($i ++ == 0)
93{
94 s/ab/last/e ;
95}
96EXPECT
97Exiting substitution via last at - line 7.
98########
99# pp_ctl.c
100use warnings 'exiting' ;
101sub fred { last }
102{ fred() }
103no warnings 'exiting' ;
104sub joe { last }
105{ joe() }
106EXPECT
107Exiting subroutine via last at - line 3.
108########
109# pp_ctl.c
110{
111 eval "use warnings 'exiting' ; last;"
112}
113print STDERR $@ ;
114{
115 eval "no warnings 'exiting' ;last;"
116}
117print STDERR $@ ;
118EXPECT
119Exiting eval via last at (eval 1) line 1.
120########
121# pp_ctl.c
122use warnings 'exiting' ;
123@a = (1,2) ;
124@b = sort { last } @a ;
125no warnings 'exiting' ;
126@b = sort { last } @a ;
127EXPECT