(perl #131725) ignore the exponent on a decimal float if no digits
[perl.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 (Missing operator before @foo) [perl #123737]
41 0@foo
42 EXPECT
43 Array found where operator expected at - line 1, near "0@foo"
44         (Missing operator before @foo?)
45 syntax error at - line 1, near "0@foo
46 "
47 Execution of - aborted due to compilation errors.
48 ########
49 # NAME (Missing operator before @{) [perl #123737]
50 0@{
51 EXPECT
52 Array found where operator expected at - line 1, near "0@{"
53         (Missing operator before @{?)
54 syntax error at - line 1, near "0@"
55 Missing right curly or square bracket at - line 1, at end of line
56 Execution of - aborted due to compilation errors.
57 ########
58 # NAME Unterminated here-doc in string eval
59 eval "<<foo"; die $@
60 EXPECT
61 Can't find string terminator "foo" anywhere before EOF at (eval 1) line 1.
62 ########
63 # NAME Unterminated here-doc in s/// string eval
64 eval "s//<<foo/e"; die $@
65 EXPECT
66 Can't find string terminator "foo" anywhere before EOF at (eval 1) line 1.
67 ########
68 # NAME Unterminated here-doc in string
69 "${<<foo"; # Used to give ‘Attempt to free blah blah blah’
70 EXPECT
71 Can't find string terminator "foo" anywhere before EOF at - line 1.
72 ########
73 # NAME Unterminated here-doc with non-Latin-1 terminator
74 BEGIN { binmode STDERR, ":utf8" }
75 use utf8;
76 <<옷옷
77 EXPECT
78 Can't find string terminator "옷옷" anywhere before EOF at - line 3.
79 ########
80 # NAME Unterminated qw//
81 qw/
82 EXPECT
83 Can't find string terminator "/" anywhere before EOF at - line 1.
84 ########
85 # NAME Unterminated q//
86 qw/
87 EXPECT
88 Can't find string terminator "/" anywhere before EOF at - line 1.
89 ########
90 # NAME Unterminated ''
91 '
92 EXPECT
93 Can't find string terminator "'" anywhere before EOF at - line 1.
94 ########
95 # NAME Unterminated q// with non-ASCII delimiter, under utf8
96 BEGIN { binmode STDERR, ":utf8" }
97 use utf8;
98
99 EXPECT
100 Can't find string terminator "«" anywhere before EOF at - line 3.
101 ########
102 # NAME Unterminated q// with non-Latin-1 delimiter
103 BEGIN { binmode STDERR, ":utf8" }
104 use utf8;
105 q 옷
106 EXPECT
107 Can't find string terminator "옷" anywhere before EOF at - line 3.
108 ########
109 # NAME /\N{/
110 /\N{/
111 EXPECT
112 Missing right brace on \N{} or unescaped left brace after \N at - line 1, within pattern
113 Execution of - aborted due to compilation errors.
114 ########
115 # NAME map{for our *a...
116 map{for our *a (1..10) {$_.=$x}}
117 EXPECT
118 Missing $ on loop variable at - line 1.
119 ########
120 # NAME Missing name in "my sub"
121 use feature 'lexical_subs'; my sub;
122 EXPECT
123 Missing name in "my sub" at - line 1.
124 ########
125 # NAME Missing name in "our sub"
126 use feature 'lexical_subs'; our sub;
127 EXPECT
128 Missing name in "our sub" at - line 1.
129 ########
130 # NAME Missing name in "state sub"
131 use 5.01;
132 state sub;
133 EXPECT
134 Missing name in "state sub" at - line 2.
135 ########
136 # NAME our sub pack::foo
137 our sub foo::bar;
138 EXPECT
139 No package name allowed for subroutine &foo::bar in "our" at - line 1, near "our sub foo::bar"
140 Execution of - aborted due to compilation errors.
141 ########
142 # NAME my sub pack::foo
143 use feature 'lexical_subs', 'state';
144 my sub foo::bar;
145 state sub foo::bear;
146 EXPECT
147 "my" subroutine &foo::bar can't be in a package at - line 2, near "my sub foo::bar"
148 "state" subroutine &foo::bear can't be in a package at - line 3, near "state sub foo::bear"
149 Execution of - aborted due to compilation errors.
150 ########
151 # NAME Integer constant overloading returning undef
152 use overload;
153 BEGIN { overload::constant integer => sub {}; undef *^H }
154 1
155 EXPECT
156 Constant(1) unknown at - line 3, at end of line
157 Execution of - aborted due to compilation errors.
158 ########
159 # NAME Float constant overloading returning undef
160 use overload;
161 BEGIN { overload::constant float => sub {}; undef *^H }
162 1.1
163 EXPECT
164 Constant(1.1) unknown at - line 3, at end of line
165 Execution of - aborted due to compilation errors.
166 ########
167 # NAME Binary constant overloading returning undef
168 use overload;
169 BEGIN { overload::constant binary => sub {}; undef *^H }
170 0x1
171 EXPECT
172 Constant(0x1) unknown at - line 3, at end of line
173 Execution of - aborted due to compilation errors.
174 ########
175 # NAME String constant overloading returning undef
176 use overload;
177 BEGIN { overload::constant q => sub {}; undef *^H }
178 '1', "1$_", tr"a"", s""a"
179 EXPECT
180 Constant(q) unknown at - line 3, near "'1'"
181 Constant(qq) unknown at - line 3, within string
182 Constant(tr) unknown at - line 3, within string
183 Constant(s) unknown at - line 3, within string
184 Execution of - aborted due to compilation errors.
185 ########
186 # NAME Regexp constant overloading when *^H is undefined
187 use overload;
188 BEGIN { overload::constant qr => sub {}; undef *^H }
189 /a/
190 EXPECT
191 Constant(qq) unknown at - line 3, within pattern
192 Execution of - aborted due to compilation errors.
193 ########
194 # NAME Regexp constant overloading when *^H is undefined
195 use overload;
196 BEGIN { overload::constant qr => sub {}; undef *^H }
197 m'a'
198 EXPECT
199 Constant(q) unknown at - line 3, within pattern
200 Execution of - aborted due to compilation errors.
201 ########
202 # NAME \N{...} when charnames fails to load but without an error
203 # SKIP ? exists $ENV{PERL_UNICODE} ? "Unreliable under some PERL_UNICODE settings" : 0
204 BEGIN { ++$_ for @INC{"charnames.pm","_charnames.pm"} }
205 "\N{a}"
206 EXPECT
207 Constant(\N{a}) unknown at - line 2, within string
208 Execution of - aborted due to compilation errors.
209 ########
210 # NAME Integer constant overloading returning undef
211 use overload;
212 BEGIN { overload::constant integer => sub {} }
213 1
214 EXPECT
215 Constant(1): Call to &{$^H{integer}} did not return a defined value at - line 3, at end of line
216 Execution of - aborted due to compilation errors.
217 ########
218 # NAME Float constant overloading returning undef
219 use overload;
220 BEGIN { overload::constant float => sub {} }
221 1.1
222 EXPECT
223 Constant(1.1): Call to &{$^H{float}} did not return a defined value at - line 3, at end of line
224 Execution of - aborted due to compilation errors.
225 ########
226 # NAME Binary constant overloading returning undef
227 use overload;
228 BEGIN { overload::constant binary => sub {} }
229 0x1
230 EXPECT
231 Constant(0x1): Call to &{$^H{binary}} did not return a defined value at - line 3, at end of line
232 Execution of - aborted due to compilation errors.
233 ########
234 # NAME String constant overloading returning undef
235 use overload;
236 BEGIN { overload::constant q => sub {} }
237 '1', "1$_", tr"a"", s""a"
238 EXPECT
239 Constant(q): Call to &{$^H{q}} did not return a defined value at - line 3, near "'1'"
240 Constant(qq): Call to &{$^H{q}} did not return a defined value at - line 3, within string
241 Constant(tr): Call to &{$^H{q}} did not return a defined value at - line 3, within string
242 Constant(s): Call to &{$^H{q}} did not return a defined value at - line 3, within string
243 Execution of - aborted due to compilation errors.
244 ########
245 # NAME Regexp constant overloading returning undef
246 use overload;
247 BEGIN { overload::constant qr => sub {} }
248 /a/
249 EXPECT
250 Constant(qq): Call to &{$^H{qr}} did not return a defined value at - line 3, within pattern
251 Execution of - aborted due to compilation errors.
252 ########
253 # NAME Regexp constant overloading returning undef
254 use overload;
255 BEGIN { overload::constant qr => sub {} }
256 m'a'
257 EXPECT
258 Constant(q): Call to &{$^H{qr}} did not return a defined value at - line 3, within pattern
259 Execution of - aborted due to compilation errors.
260 ########
261 # NAME Failed constant overloading should not cause a double free
262 use overload;
263 BEGIN { overload::constant q => sub {}; undef *^H }
264 undef(1,2);
265 undef(1,2);
266 undef(1,2);
267 undef(1,2);
268 undef(1,2);
269 undef(1,2);
270 undef(1,2);
271 undef(1,2);
272 undef(1,2);
273 "a"
274 EXPECT
275 Too many arguments for undef operator at - line 3, near "2)"
276 Too many arguments for undef operator at - line 4, near "2)"
277 Too many arguments for undef operator at - line 5, near "2)"
278 Too many arguments for undef operator at - line 6, near "2)"
279 Too many arguments for undef operator at - line 7, near "2)"
280 Too many arguments for undef operator at - line 8, near "2)"
281 Too many arguments for undef operator at - line 9, near "2)"
282 Too many arguments for undef operator at - line 10, near "2)"
283 Too many arguments for undef operator at - line 11, near "2)"
284 Constant(q) unknown at - line 12, near ""a""
285 - has too many errors.
286 ########
287 # NAME Unterminated delimiter for here document
288 <<"foo
289 EXPECT
290 Unterminated delimiter for here document at - line 1.
291 ########
292 # NAME my (our $x) errors
293 my (our $x);
294 EXPECT
295 Can't redeclare "our" in "my" at - line 1, near "(our"
296 Execution of - aborted due to compilation errors.
297 ########
298 # NAME our (my $x) errors
299 our (my $x);
300 EXPECT
301 Can't redeclare "my" in "our" at - line 1, near "(my"
302 Execution of - aborted due to compilation errors.
303 ########
304 # NAME state (my $x) errors
305 use feature 'state';
306 state (my $x);
307 EXPECT
308 Can't redeclare "my" in "state" at - line 2, near "(my"
309 Execution of - aborted due to compilation errors.
310 ########
311 # NAME our (state $x) errors
312 use feature 'state';
313 our (state $x);
314 EXPECT
315 Can't redeclare "state" in "our" at - line 2, near "(state"
316 Execution of - aborted due to compilation errors.
317 ########
318 # NAME my (my $x) errors
319 my (my $x, $y, $z);
320 EXPECT
321 Can't redeclare "my" in "my" at - line 1, near "(my"
322 Execution of - aborted due to compilation errors.
323 ########
324 # NAME our (our $x) errors
325 our ($x, our($y), $z);
326 EXPECT
327 Can't redeclare "our" in "our" at - line 1, near ", our"
328 Execution of - aborted due to compilation errors.
329 ########
330 # NAME state (state $x) errors
331 use feature 'state';
332 state ($x, $y, state $z);
333 EXPECT
334 Can't redeclare "state" in "state" at - line 2, near ", state"
335 Execution of - aborted due to compilation errors.
336 ########
337 # NAME BEGIN <> [perl #125341]
338 BEGIN <>
339 EXPECT
340 Illegal declaration of subroutine BEGIN at - line 1.
341 ########
342 # NAME multiple conflict markers
343 <<<<<<< yours:sample.txt
344 my $some_code;
345 =======
346 my $some_other_code;
347 >>>>>>> theirs:sample.txt
348 EXPECT
349 Version control conflict marker at - line 1, near "<<<<<<<"
350 Version control conflict marker at - line 3, near "======="
351 Version control conflict marker at - line 5, near ">>>>>>>"
352 Execution of - aborted due to compilation errors.
353 ########
354 # NAME (Might be a runaway multi-line...) with Latin-1 delimiters in utf8
355 BEGIN { binmode STDERR, ':utf8' }
356 use utf8;
357
358 « time
359 EXPECT
360 syntax error at - line 4, near "« time"
361   (Might be a runaway multi-line «« string starting on line 3)
362 Execution of - aborted due to compilation errors.
363 ########
364 # NAME (Might be a runaway multi-line...) with non-Latin-1 delimiters
365 BEGIN { binmode STDERR, ':utf8' }
366 use utf8;
367 q ϡ
368 ϡ time
369 EXPECT
370 syntax error at - line 4, near "ϡ time"
371   (Might be a runaway multi-line ϡϡ string starting on line 3)
372 Execution of - aborted due to compilation errors.
373 ########
374 # NAME tr/// handling of mis-formatted \o characters
375 # may only fail with ASAN
376 tr/\o-0//;
377 EXPECT
378 Missing braces on \o{} at - line 2, within string
379 Execution of - aborted due to compilation errors.
380 ########
381 # NAME bare <<
382 $a = <<;
383
384 EXPECT
385 Use of bare << to mean <<"" is forbidden at - line 1.
386 ########
387 # NAME bare <<~
388 $a = <<~;
389 EXPECT
390 Use of bare << to mean <<"" is forbidden at - line 1.
391 ########
392 # NAME bare <<~
393 $a = <<~ ;
394
395 EXPECT
396 Use of bare << to mean <<"" is forbidden at - line 1.
397 ########
398 # NAME incomplete floating point decimal exponent (#131725)
399 1e--5
400 EXPECT
401 Bareword found where operator expected at - line 1, near "1e"
402         (Missing operator before e?)
403 Number found where operator expected at - line 1, near "--5"
404         (Missing operator before 5?)
405 syntax error at - line 1, near "1e"
406 Execution of - aborted due to compilation errors.