1 Check FATAL functionality
5 # Check compile time warning
6 use warnings FATAL => 'syntax' ;
12 print STDERR "The End.\n" ;
14 Reversed += operator at - line 8.
17 # Check compile time warning
18 use warnings FATAL => 'all' ;
24 print STDERR "The End.\n" ;
26 Reversed += operator at - line 8.
29 # Check runtime scope of pragma
30 use warnings FATAL => 'uninitialized' ;
36 print STDERR "The End.\n" ;
38 Use of uninitialized value $b in scalar chop at - line 8.
41 # Check runtime scope of pragma
42 use warnings FATAL => 'all' ;
48 print STDERR "The End.\n" ;
50 Use of uninitialized value $b in scalar chop at - line 8.
53 # Check runtime scope of pragma
56 use warnings FATAL => 'uninitialized' ;
57 $a = sub { my $b ; chop $b ; }
60 print STDERR "The End.\n" ;
62 Use of uninitialized value $b in scalar chop at - line 6.
65 # Check runtime scope of pragma
68 use warnings FATAL => 'all' ;
69 $a = sub { my $b ; chop $b ; }
72 print STDERR "The End.\n" ;
74 Use of uninitialized value $b in scalar chop at - line 6.
81 use warnings FATAL => 'syntax' ;
88 use warnings FATAL => 'syntax' ;
98 use warnings 'syntax' ;
102 use warnings FATAL => 'uninitialized' ;
105 print STDERR "The End.\n" ;
107 Reversed += operator at ./abc line 2.
108 Use of uninitialized value $a in scalar chop at - line 3.
112 use warnings 'syntax' ;
116 use warnings FATAL => 'uninitialized' ;
119 print STDERR "The End.\n" ;
121 Reversed += operator at abc.pm line 2.
122 Use of uninitialized value $a in scalar chop at - line 3.
125 # Check scope of pragma with eval
128 use warnings FATAL => 'uninitialized' ;
130 }; print STDERR "-- $@" ;
132 print STDERR "The End.\n" ;
134 -- Use of uninitialized value $b in scalar chop at - line 6.
138 # Check scope of pragma with eval
139 use warnings FATAL => 'uninitialized' ;
142 }; print STDERR "-- $@" ;
144 print STDERR "The End.\n" ;
146 -- Use of uninitialized value $b in scalar chop at - line 5.
147 Use of uninitialized value $b in scalar chop at - line 7.
150 # Check scope of pragma with eval
151 use warnings FATAL => 'uninitialized' ;
157 print STDERR "The End.\n" ;
159 Use of uninitialized value $b in scalar chop at - line 8.
162 # Check scope of pragma with eval
165 use warnings FATAL => 'syntax' ;
167 }; print STDERR "-- $@" ;
169 print STDERR "The End.\n" ;
171 Reversed += operator at - line 6.
174 # Check scope of pragma with eval
175 use warnings FATAL => 'syntax' ;
178 }; print STDERR "-- $@" ;
180 print STDERR "The End.\n" ;
182 Reversed += operator at - line 5.
185 # Check scope of pragma with eval
186 use warnings FATAL => 'syntax' ;
192 print STDERR "The End.\n" ;
194 Reversed += operator at - line 8.
197 # Check scope of pragma with eval
200 use warnings FATAL => 'syntax' ;
203 print STDERR "The End.\n" ;
208 # Check scope of pragma with eval
211 use warnings FATAL => 'uninitialized' ;
213 ]; print STDERR "-- $@";
215 print STDERR "The End.\n" ;
217 -- Use of uninitialized value $b in scalar chop at (eval 1) line 3.
221 # Check scope of pragma with eval
222 use warnings FATAL => 'uninitialized' ;
225 '; print STDERR "-- $@" ;
227 print STDERR "The End.\n" ;
229 -- Use of uninitialized value $b in scalar chop at (eval 1) line 2.
230 Use of uninitialized value $b in scalar chop at - line 7.
233 # Check scope of pragma with eval
234 use warnings FATAL => 'uninitialized' ;
240 print STDERR "The End.\n" ;
242 Use of uninitialized value $b in scalar chop at - line 8.
245 # Check scope of pragma with eval
248 use warnings FATAL => 'syntax' ;
250 ]; print STDERR "-- $@";
252 print STDERR "The End.\n" ;
254 -- Reversed += operator at (eval 1) line 3.
258 # Check scope of pragma with eval
259 use warnings FATAL => 'syntax' ;
262 '; print STDERR "-- $@";
263 print STDERR "The End.\n" ;
265 -- Reversed += operator at (eval 1) line 2.
269 # Check scope of pragma with eval
270 use warnings FATAL => 'syntax' ;
274 '; print STDERR "-- $@";
276 print STDERR "The End.\n" ;
278 Reversed += operator at - line 8.
280 # TODO ? !$Config{usethreads} && $::UTF8 && ($ENV{PERL_DESTRUCT_LEVEL} || 0) > 1 ? "Parser leaks OPs, which leak shared hash keys" : ''
282 use warnings 'void' ;
287 use warnings FATAL => qw(void) ;
296 Useless use of time in void context at - line 4.
297 Useless use of length in void context at - line 9.
299 # TODO ? !$Config{usethreads} && $::UTF8 && ($ENV{PERL_DESTRUCT_LEVEL} || 0) > 1 ? "Parser leaks OPs, which leak shared hash keys" : ''
306 use warnings FATAL => qw(void) ;
315 Useless use of time in void context at - line 4.
316 Useless use of length in void context at - line 9.
319 use warnings FATAL => 'all';
329 print STDERR "The End.\n" ;
331 Use of uninitialized value $b in scalar chop at - line 8.
332 Use of uninitialized value $b in scalar chop at - line 11.
335 use warnings FATAL => 'all';
337 no warnings FATAL => 'all';
345 print STDERR "The End.\n" ;
347 Use of uninitialized value $b in scalar chop at - line 8.
348 Use of uninitialized value $b in scalar chop at - line 11.
351 use warnings FATAL => 'all';
353 no warnings 'syntax';
360 print STDERR "The End.\n" ;
362 Use of uninitialized value $b in scalar chop at - line 7.
365 use warnings FATAL => 'syntax', NONFATAL => 'void' ;
369 print STDERR "The End.\n" ;
371 Useless use of length in void context at - line 5.
375 use warnings FATAL => 'all', NONFATAL => 'void' ;
379 print STDERR "The End.\n" ;
381 Useless use of length in void context at - line 5.
385 use warnings FATAL => 'all', NONFATAL => 'void' ;
391 print STDERR "The End.\n" ;
393 Useless use of length in void context at - line 7.
394 Use of uninitialized value $a in scalar chomp at - line 4.
397 use warnings FATAL => 'void', NONFATAL => 'void' ;
400 print STDERR "The End.\n" ;
402 Useless use of length in void context at - line 4.
405 # TODO ? !$Config{usethreads} && $::UTF8 && ($ENV{PERL_DESTRUCT_LEVEL} || 0) > 1 ? "Parser leaks OPs, which leak shared hash keys" : ''
407 use warnings NONFATAL => 'void', FATAL => 'void' ;
410 print STDERR "The End.\n" ;
412 Useless use of length in void context at - line 4.
415 use warnings FATAL => 'all', NONFATAL => 'io';
418 open(F, "<true\ncd");
419 open(G, "<truecd\n");
420 open(H, "<truecd\n\0");
422 print STDERR "The End.\n" ;
424 Unsuccessful open on filename containing newline at - line 6.
425 Unsuccessful open on filename containing newline at - line 7.
426 close() on unopened filehandle fred at - line 8.
430 use warnings FATAL => 'all', NONFATAL => 'io', FATAL => 'unopened' ;
433 open(F, "<truecd\n");
435 print STDERR "The End.\n" ;
437 Unsuccessful open on filename containing newline at - line 5.
438 close() on unopened filehandle fred at - line 6.
441 # 'use warnings' test as the basis for the following tests
443 my $a = oct "7777777777777777777777777777777777778" ;
446 print STDERR "The End.\n" ;
448 Reversed += operator at - line 5.
449 Integer overflow in octal number at - line 4.
450 Illegal octal digit '8' ignored at - line 4.
451 Octal number > 037777777777 non-portable at - line 4.
452 Use of uninitialized value $c in scalar chop at - line 6.
456 # 'use warnings NONFATAL=>"all"' should be the same as 'use warnings'
457 use warnings NONFATAL=>"all" ;
458 my $a = oct "7777777777777777777777777777777777778" ;
461 print STDERR "The End.\n" ;
463 Reversed += operator at - line 5.
464 Integer overflow in octal number at - line 4.
465 Illegal octal digit '8' ignored at - line 4.
466 Octal number > 037777777777 non-portable at - line 4.
467 Use of uninitialized value $c in scalar chop at - line 6.
471 # 'use warnings "NONFATAL"' should be the same as 'use warnings' [perl #120977]
472 use warnings "NONFATAL" ;
473 my $a = oct "7777777777777777777777777777777777778" ;
476 print STDERR "The End.\n" ;
478 Reversed += operator at - line 5.
479 Integer overflow in octal number at - line 4.
480 Illegal octal digit '8' ignored at - line 4.
481 Octal number > 037777777777 non-portable at - line 4.
482 Use of uninitialized value $c in scalar chop at - line 6.
486 # 'use warnings "FATAL"' should be the same as 'use warnings FATAL=>"all"' [perl #120977]
487 use warnings "FATAL" ;
493 print STDERR "The End.\n" ;
495 Reversed += operator at - line 8.
498 # 'use warnings "FATAL"' should be the same as 'use warnings FATAL=>"all"' [perl #120977]
499 use warnings "FATAL" ;
502 my $a = oct "7777777777777777777777777777777777778" ;
504 my $a = oct "7777777777777777777777777777777777778" ;
505 print STDERR "The End.\n" ;
507 Integer overflow in octal number at - line 8.
510 # 'no warnings FATAL=>"all"' should be the same as 'no warnings'
513 no warnings FATAL=>"all" ;
514 my $a = oct "7777777777777777777777777777777777778" ;
519 print STDERR "The End.\n" ;
521 Reversed += operator at - line 10.
525 # 'no warnings "FATAL"' should be the same as 'no warnings' [perl #120977]
528 no warnings "FATAL" ;
529 my $a = oct "7777777777777777777777777777777777778" ;
534 print STDERR "The End.\n" ;
536 Reversed += operator at - line 10.
540 # fatal warnings shouldn't hide parse errors [perl #122966]
541 use warnings FATAL => 'all';
547 syntax error at - line 4, near "1 {"
548 "my" variable $x masks earlier declaration in same statement at - line 6.
549 syntax error at - line 7, near "}"
550 Execution of - aborted due to compilation errors.
553 # fatal warnings in DESTROY should be made non-fatal [perl #123398]
554 # This test will blow up your memory with SEGV without the patch
556 use strict; use utf8; use warnings FATAL => 'all';
558 return bless{ 'field' => undef }, 'Foo';
562 $self->{'field'}->missing_method;
568 (in cleanup) Can't call method "missing_method" on an undefined value at - line 11.