This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
a061ac8cf7abe7560da08af3d39d1f86c206e9a9
[perl5.git] / t / lib / croak / toke
1 __END__
2 # NAME foo found where operator expected
3 myfunc 1,2,3
4 EXPECT
5 Number found where operator expected at - line 1, near "myfunc 1"
6         (Do you need to predeclare myfunc?)
7 syntax error at - line 1, near "myfunc 1"
8 Execution of - aborted due to compilation errors.
9 ########
10 # NAME foo found where operator expected (after strict error, w/fatal warnings)
11 use warnings FATAL => 'all';
12 use strict;
13 $foo;
14 myfunc 1,2,3
15 EXPECT
16 Global symbol "$foo" requires explicit package name (did you forget to declare "my $foo"?) at - line 3.
17 Number found where operator expected at - line 4, near "myfunc 1"
18         (Do you need to predeclare myfunc?)
19 syntax error at - line 4, near "myfunc 1"
20 Execution of - aborted due to compilation errors.
21 ########
22 # NAME (Missing operator before ${?) [perl #123737]
23 0${
24 EXPECT
25 Scalar found where operator expected at - line 1, near "0${"
26         (Missing operator before ${?)
27 syntax error at - line 1, near "0$"
28 Missing right curly or square bracket at - line 1, at end of line
29 Execution of - aborted due to compilation errors.
30 ########
31 # NAME (Missing operator before $#{?) [perl #123737]
32 0$#{
33 EXPECT
34 Array length found where operator expected at - line 1, near "0$#{"
35         (Missing operator before $#{?)
36 syntax error at - line 1, near "0$#"
37 Missing right curly or square bracket at - line 1, at end of line
38 Execution of - aborted due to compilation errors.
39 ########
40 # NAME Unterminated here-doc in string eval
41 eval "<<foo"; die $@
42 EXPECT
43 Can't find string terminator "foo" anywhere before EOF at (eval 1) line 1.
44 ########
45 # NAME Unterminated here-doc in s/// string eval
46 eval "s//<<foo/e"; die $@
47 EXPECT
48 Can't find string terminator "foo" anywhere before EOF at (eval 1) line 1.
49 ########
50 # NAME Unterminated here-doc in string
51 "${<<foo"; # Used to give â€˜Attempt to free blah blah blah’
52 EXPECT
53 Can't find string terminator "foo" anywhere before EOF at - line 1.
54 ########
55 # NAME Unterminated qw//
56 qw/
57 EXPECT
58 Can't find string terminator "/" anywhere before EOF at - line 1.
59 ########
60 # NAME Unterminated q//
61 qw/
62 EXPECT
63 Can't find string terminator "/" anywhere before EOF at - line 1.
64 ########
65 # NAME Unterminated ''
66 '
67 EXPECT
68 Can't find string terminator "'" anywhere before EOF at - line 1.
69 ########
70 # NAME /\N{/
71 /\N{/
72 EXPECT
73 Missing right brace on \N{} or unescaped left brace after \N at - line 1, within pattern
74 Execution of - aborted due to compilation errors.
75 ########
76 # NAME map{for our *a...
77 map{for our *a (1..10) {$_.=$x}}
78 EXPECT
79 Missing $ on loop variable at - line 1.
80 ########
81 # NAME Missing name in "my sub"
82 use feature 'lexical_subs'; my sub;
83 EXPECT
84 The lexical_subs feature is experimental at - line 1.
85 Missing name in "my sub" at - line 1.
86 ########
87 # NAME Missing name in "our sub"
88 use feature 'lexical_subs'; our sub;
89 EXPECT
90 The lexical_subs feature is experimental at - line 1.
91 Missing name in "our sub" at - line 1.
92 ########
93 # NAME Missing name in "state sub"
94 use 5.01; use feature 'lexical_subs';
95 state sub;
96 EXPECT
97 The lexical_subs feature is experimental at - line 2.
98 Missing name in "state sub" at - line 2.
99 ########
100 # NAME my sub pack::foo
101 use feature 'lexical_subs', 'state';
102 my sub foo::bar;
103 state sub foo::bear;
104 EXPECT
105 The lexical_subs feature is experimental at - line 2.
106 The lexical_subs feature is experimental at - line 3.
107 "my" subroutine &foo::bar can't be in a package at - line 2, near "my sub foo::bar"
108 "state" subroutine &foo::bear can't be in a package at - line 3, near "state sub foo::bear"
109 Execution of - aborted due to compilation errors.
110 ########
111 # NAME Integer constant overloading returning undef
112 use overload;
113 BEGIN { overload::constant integer => sub {}; undef *^H }
114 1
115 EXPECT
116 Constant(1) unknown at - line 3, at end of line
117 Execution of - aborted due to compilation errors.
118 ########
119 # NAME Float constant overloading returning undef
120 use overload;
121 BEGIN { overload::constant float => sub {}; undef *^H }
122 1.1
123 EXPECT
124 Constant(1.1) unknown at - line 3, at end of line
125 Execution of - aborted due to compilation errors.
126 ########
127 # NAME Binary constant overloading returning undef
128 use overload;
129 BEGIN { overload::constant binary => sub {}; undef *^H }
130 0x1
131 EXPECT
132 Constant(0x1) unknown at - line 3, at end of line
133 Execution of - aborted due to compilation errors.
134 ########
135 # NAME String constant overloading returning undef
136 use overload;
137 BEGIN { overload::constant q => sub {}; undef *^H }
138 '1', "1$_", tr"a"", s""a"
139 EXPECT
140 Constant(q) unknown at - line 3, near "'1'"
141 Constant(qq) unknown at - line 3, within string
142 Constant(tr) unknown at - line 3, within string
143 Constant(s) unknown at - line 3, within string
144 Execution of - aborted due to compilation errors.
145 ########
146 # NAME Regexp constant overloading when *^H is undefined
147 use overload;
148 BEGIN { overload::constant qr => sub {}; undef *^H }
149 /a/, m'a'
150 EXPECT
151 Constant(qq) unknown at - line 3, within pattern
152 Constant(q) unknown at - line 3, within pattern
153 Execution of - aborted due to compilation errors.
154 ########
155 # NAME \N{...} when charnames fails to load but without an error
156 # SKIP ? exists $ENV{PERL_UNICODE} ? "Unreliable under some PERL_UNICODE settings" : 0
157 BEGIN { ++$_ for @INC{"charnames.pm","_charnames.pm"} }
158 "\N{a}"
159 EXPECT
160 Constant(\N{a}) unknown at - line 2, within string
161 Execution of - aborted due to compilation errors.
162 ########
163 # NAME Integer constant overloading returning undef
164 use overload;
165 BEGIN { overload::constant integer => sub {} }
166 1
167 EXPECT
168 Constant(1): Call to &{$^H{integer}} did not return a defined value at - line 3, at end of line
169 Execution of - aborted due to compilation errors.
170 ########
171 # NAME Float constant overloading returning undef
172 use overload;
173 BEGIN { overload::constant float => sub {} }
174 1.1
175 EXPECT
176 Constant(1.1): Call to &{$^H{float}} did not return a defined value at - line 3, at end of line
177 Execution of - aborted due to compilation errors.
178 ########
179 # NAME Binary constant overloading returning undef
180 use overload;
181 BEGIN { overload::constant binary => sub {} }
182 0x1
183 EXPECT
184 Constant(0x1): Call to &{$^H{binary}} did not return a defined value at - line 3, at end of line
185 Execution of - aborted due to compilation errors.
186 ########
187 # NAME String constant overloading returning undef
188 use overload;
189 BEGIN { overload::constant q => sub {} }
190 '1', "1$_", tr"a"", s""a"
191 EXPECT
192 Constant(q): Call to &{$^H{q}} did not return a defined value at - line 3, near "'1'"
193 Constant(qq): Call to &{$^H{q}} did not return a defined value at - line 3, within string
194 Constant(tr): Call to &{$^H{q}} did not return a defined value at - line 3, within string
195 Constant(s): Call to &{$^H{q}} did not return a defined value at - line 3, within string
196 Execution of - aborted due to compilation errors.
197 ########
198 # NAME Regexp constant overloading returning undef
199 use overload;
200 BEGIN { overload::constant qr => sub {} }
201 /a/, m'a'
202 EXPECT
203 Constant(qq): Call to &{$^H{qr}} did not return a defined value at - line 3, within pattern
204 Constant(q): Call to &{$^H{qr}} did not return a defined value at - line 3, within pattern
205 Execution of - aborted due to compilation errors.
206 ########
207 # NAME Failed constant overloading should not cause a double free
208 use overload;
209 BEGIN { overload::constant q => sub {}; undef *^H }
210 undef(1,2);
211 undef(1,2);
212 undef(1,2);
213 undef(1,2);
214 undef(1,2);
215 undef(1,2);
216 undef(1,2);
217 undef(1,2);
218 undef(1,2);
219 "a"
220 EXPECT
221 Too many arguments for undef operator at - line 3, near "2)"
222 Too many arguments for undef operator at - line 4, near "2)"
223 Too many arguments for undef operator at - line 5, near "2)"
224 Too many arguments for undef operator at - line 6, near "2)"
225 Too many arguments for undef operator at - line 7, near "2)"
226 Too many arguments for undef operator at - line 8, near "2)"
227 Too many arguments for undef operator at - line 9, near "2)"
228 Too many arguments for undef operator at - line 10, near "2)"
229 Too many arguments for undef operator at - line 11, near "2)"
230 Constant(q) unknown at - line 12, near ""a""
231 - has too many errors.
232 ########
233 # NAME Unterminated delimiter for here document
234 <<"foo
235 EXPECT
236 Unterminated delimiter for here document at - line 1.