3 we seem to have lost a few ambiguous warnings!!
7 Use of comma-less variable list is deprecated
8 (called 3 times via depcom)
10 \1 better written as $1
11 use warnings 'syntax' ;
15 Semicolon seems to be missing
32 Multidimensional syntax %.*s not supported
35 You need to quote \"%s\""
36 sub fred {} ; $SIG{TERM} = fred;
38 Can't use \\%c to mean $%c in expression
39 $_ = "ab" ; s/(ab)/\1/e;
41 Unquoted string "abc" may clash with future reserved word at - line 3.
45 Possible attempt to separate words with commas
48 Possible attempt to put comments in qw() list
51 %s (...) interpreted as function
56 Ambiguous use of %c{%s%s} resolved to %c%s%s
61 Ambiguous use of %c{%s} resolved to %c%s
63 sub fred {} $a = ${fred}
69 Bareword \"%s\" refers to nonexistent package
72 Ambiguous call resolved as CORE::%s(), qualify as such or use &
76 Unrecognized escape \\%c passed through
82 Postfix dereference is experimental
84 %s number > %s non-portable
85 my $a = 0b011111111111111111111111111111110 ;
86 $a = 0b011111111111111111111111111111111 ;
87 $a = 0b111111111111111111111111111111111 ;
95 Integer overflow in binary number
96 my $a = 0b011111111111111111111111111111110 ;
97 $a = 0b011111111111111111111111111111111 ;
98 $a = 0b111111111111111111111111111111111 ;
106 dump() better written as CORE::dump()
108 Use of /c modifier is meaningless without /g
110 Use of /c modifier is meaningless in s///
114 Use of "%s" without parentheses is ambiguous [check_uni]
117 Ambiguous use of -%s resolved as -&%s() [yylex]
118 sub fred {} ; - fred ;
120 Precedence problem: open %.*s should be open(%.*s) [yylex]
123 Operator or semicolon missing before %c%s [yylex]
124 Ambiguous use of %c resolved as operator %c
133 no warnings 'deprecated' ;
139 Use of comma-less variable list is deprecated at - line 4.
140 Use of comma-less variable list is deprecated at - line 4.
141 Use of comma-less variable list is deprecated at - line 4.
146 no warnings 'deprecated' ;
150 Use of bare << to mean <<"" is deprecated at - line 2.
154 eval "\${\7LOBAL_PHASE}";
158 my $ret = eval "\${\n\cT\n}";
159 print "ok\n" if $ret == $^T;
161 no warnings 'deprecated' ;
163 eval "\${\7LOBAL_PHASE}";
170 Use of literal control characters in variable names is deprecated at (eval 1) line 1.
171 Use of literal control characters in variable names is deprecated at (eval 2) line 1.
172 Use of literal control characters in variable names is deprecated at (eval 3) line 1.
173 Use of literal control characters in variable names is deprecated at (eval 4) line 2.
174 Use of literal control characters in variable names is deprecated at (eval 5) line 1.
175 Use of literal control characters in variable names is deprecated at (eval 6) line 2.
180 $a =~ s/$foo/fool/seq;
184 Unknown regexp modifier "/e" at - line 2, near "=~ "
185 Unknown regexp modifier "/q" at - line 2, near "=~ "
186 Unknown regexp modifier "/q" at - line 3, near "=~ "
187 Execution of - aborted due to compilation errors.
191 use open qw( :utf8 :std );
193 $a =~ s/$foo/fool/seネq;
197 Unknown regexp modifier "/e" at - line 4, near "=~ "
198 Unknown regexp modifier "/ネ" at - line 4, near "=~ "
199 Unknown regexp modifier "/q" at - line 4, near "=~ "
200 Unknown regexp modifier "/ネ" at - line 5, near "=~ "
201 Unknown regexp modifier "/q" at - line 5, near "=~ "
202 Execution of - aborted due to compilation errors.
205 use warnings 'syntax' ;
207 no warnings 'syntax' ;
210 \1 better written as $1 at - line 3.
213 use warnings 'semicolon' ;
216 no warnings 'semicolon' ;
220 Semicolon seems to be missing at - line 3.
223 use warnings 'syntax' ;
235 Reversed += operator at - line 3.
236 Reversed -= operator at - line 4.
237 Reversed *= operator at - line 5.
238 Reversed %= operator at - line 6.
239 Reversed &= operator at - line 7.
240 Reversed .= operator at - line 8.
241 Reversed ^= operator at - line 9.
242 Reversed |= operator at - line 10.
243 Reversed <= operator at - line 11.
244 syntax error at - line 8, near "=."
245 syntax error at - line 9, near "=^"
246 syntax error at - line 10, near "=|"
247 Unterminated <> operator at - line 11.
250 no warnings 'syntax' ;
262 syntax error at - line 8, near "=."
263 syntax error at - line 9, near "=^"
264 syntax error at - line 10, near "=|"
265 Unterminated <> operator at - line 11.
268 use warnings 'syntax' ;
270 no warnings 'syntax' ;
273 Multidimensional syntax $a[1,2] not supported at - line 3.
276 use warnings 'syntax' ;
277 sub fred {} ; $SIG{TERM} = fred;
278 no warnings 'syntax' ;
281 You need to quote "fred" at - line 3.
285 use open qw( :utf8 :std );
286 use warnings 'syntax' ;
287 sub frèd {} ; $SIG{TERM} = frèd;
288 no warnings 'syntax' ;
291 You need to quote "frèd" at - line 5.
295 use open qw( :utf8 :std );
296 use warnings 'syntax' ;
297 sub ふれど {} ; $SIG{TERM} = ふれど;
298 no warnings 'syntax' ;
301 You need to quote "ふれど" at - line 5.
304 use warnings 'syntax' ;
307 no warnings 'syntax' ;
311 Can't use \1 to mean $1 in expression at - line 4.
314 use warnings 'reserved' ;
319 no warnings 'reserved' ;
322 Unquoted string "abc" may clash with future reserved word at - line 3.
330 Possible attempt to separate words with commas at - line 3.
338 Possible attempt to put comments in qw() list at - line 3.
342 @a = qw(a, b, c # #) ;
344 @a = qw(a, b, c # #) ;
346 Possible attempt to separate words with commas at - line 3.
347 Possible attempt to put comments in qw() list at - line 3.
350 use warnings 'syntax' ;
352 print ("") and $x = 1;
355 print (1+2) * 3 if 0; # only this one should warn
358 print (...) interpreted as function at - line 7.
361 no warnings 'syntax' ;
367 use warnings 'syntax' ;
371 printf (...) interpreted as function at - line 4.
374 no warnings 'syntax' ;
380 use warnings 'syntax' ;
384 sort (...) interpreted as function at - line 4.
387 no warnings 'syntax' ;
393 use warnings 'ambiguous' ;
395 no warnings 'ambiguous' ;
398 Ambiguous use of ${time[...]} resolved to $time[...] at - line 3.
401 use warnings 'ambiguous' ;
404 Ambiguous use of ${time{...}} resolved to $time{...} at - line 3.
407 use warnings 'ambiguous' ;
415 Ambiguous use of ${time{...}} resolved to $time{...} at - line 5.
419 use warnings 'ambiguous' ;
433 Ambiguous use of ${time[...]} resolved to $time[...] at - line 5.
434 Ambiguous use of ${time[...]} resolved to $time[...] at - line 10.
438 no warnings 'ambiguous' ;
444 use warnings 'ambiguous' ;
447 $a = $#{time} ; # This one is special cased in toke.c
450 $a = defined &{time} ; # To avoid calling &::time
451 no warnings 'ambiguous' ;
454 $a = $#{time} ; # This one is special cased in toke.c
457 $a = defined &{time} ; # To avoid calling &::time
459 Ambiguous use of ${time} resolved to $time at - line 3.
460 Ambiguous use of @{time} resolved to @time at - line 4.
461 Ambiguous use of @{time} resolved to @time at - line 5.
462 Ambiguous use of %{time} resolved to %time at - line 6.
463 Ambiguous use of *{time} resolved to *time at - line 7.
464 Ambiguous use of &{time} resolved to &time at - line 8.
467 use warnings 'ambiguous' ;
490 Ambiguous use of ${time} resolved to $time at - line 4.
491 Ambiguous use of @{time} resolved to @time at - line 7.
492 Ambiguous use of @{time} resolved to @time at - line 10.
493 Ambiguous use of %{time} resolved to %time at - line 13.
494 Ambiguous use of *{time} resolved to *time at - line 16.
495 Ambiguous use of &{time} resolved to &time at - line 19.
499 use warnings 'ambiguous' ;
502 no warnings 'ambiguous' ;
505 Ambiguous use of ${fred} resolved to $fred at - line 4.
508 use warnings 'syntax' ;
509 $a = _123; print "$a\n"; #( 3 string)
510 $a = 1_23; print "$a\n";
511 $a = 12_3; print "$a\n";
512 $a = 123_; print "$a\n"; # 6
513 $a = _+123; print "$a\n"; # 7 string)
514 $a = +_123; print "$a\n"; #( 8 string)
515 $a = +1_23; print "$a\n";
516 $a = +12_3; print "$a\n";
517 $a = +123_; print "$a\n"; # 11
518 $a = _-123; print "$a\n"; #(12 string)
519 $a = -_123; print "$a\n"; #(13 string)
520 $a = -1_23; print "$a\n";
521 $a = -12_3; print "$a\n";
522 $a = -123_; print "$a\n"; # 16
523 $a = 123._456; print "$a\n"; # 17
524 $a = 123.4_56; print "$a\n";
525 $a = 123.45_6; print "$a\n";
526 $a = 123.456_; print "$a\n"; # 20
527 $a = +123._456; print "$a\n"; # 21
528 $a = +123.4_56; print "$a\n";
529 $a = +123.45_6; print "$a\n";
530 $a = +123.456_; print "$a\n"; # 24
531 $a = -123._456; print "$a\n"; # 25
532 $a = -123.4_56; print "$a\n";
533 $a = -123.45_6; print "$a\n";
534 $a = -123.456_; print "$a\n"; # 28
535 $a = 123.456E_12; printf("%.0f\n", $a); # 29
536 $a = 123.456E1_2; printf("%.0f\n", $a);
537 $a = 123.456E12_; printf("%.0f\n", $a); # 31
538 $a = 123.456E_+12; printf("%.0f\n", $a); # 32
539 $a = 123.456E+_12; printf("%.0f\n", $a); # 33
540 $a = 123.456E+1_2; printf("%.0f\n", $a);
541 $a = 123.456E+12_; printf("%.0f\n", $a); # 35
542 $a = 123.456E_-12; print "$a\n"; # 36
543 $a = 123.456E-_12; print "$a\n"; # 37
544 $a = 123.456E-1_2; print "$a\n";
545 $a = 123.456E-12_; print "$a\n"; # 39
546 $a = 1__23; print "$a\n"; # 40
547 $a = 12.3__4; print "$a\n"; # 41
548 $a = 12.34e1__2; printf("%.0f\n", $a); # 42
549 no warnings 'syntax' ;
550 $a = _123; print "$a\n";
551 $a = 1_23; print "$a\n";
552 $a = 12_3; print "$a\n";
553 $a = 123_; print "$a\n";
554 $a = _+123; print "$a\n";
555 $a = +_123; print "$a\n";
556 $a = +1_23; print "$a\n";
557 $a = +12_3; print "$a\n";
558 $a = +123_; print "$a\n";
559 $a = _-123; print "$a\n";
560 $a = -_123; print "$a\n";
561 $a = -1_23; print "$a\n";
562 $a = -12_3; print "$a\n";
563 $a = -123_; print "$a\n";
564 $a = 123._456; print "$a\n";
565 $a = 123.4_56; print "$a\n";
566 $a = 123.45_6; print "$a\n";
567 $a = 123.456_; print "$a\n";
568 $a = +123._456; print "$a\n";
569 $a = +123.4_56; print "$a\n";
570 $a = +123.45_6; print "$a\n";
571 $a = +123.456_; print "$a\n";
572 $a = -123._456; print "$a\n";
573 $a = -123.4_56; print "$a\n";
574 $a = -123.45_6; print "$a\n";
575 $a = -123.456_; print "$a\n";
576 $a = 123.456E_12; printf("%.0f\n", $a);
577 $a = 123.456E1_2; printf("%.0f\n", $a);
578 $a = 123.456E12_; printf("%.0f\n", $a);
579 $a = 123.456E_+12; printf("%.0f\n", $a);
580 $a = 123.456E+_12; printf("%.0f\n", $a);
581 $a = 123.456E+1_2; printf("%.0f\n", $a);
582 $a = 123.456E+12_; printf("%.0f\n", $a);
583 $a = 123.456E_-12; print "$a\n";
584 $a = 123.456E-_12; print "$a\n";
585 $a = 123.456E-1_2; print "$a\n";
586 $a = 123.456E-12_; print "$a\n";
587 $a = 1__23; print "$a\n";
588 $a = 12.3__4; print "$a\n";
589 $a = 12.34e1__2; printf("%.0f\n", $a);
592 Misplaced _ in number at - line 6.
593 Misplaced _ in number at - line 11.
594 Misplaced _ in number at - line 16.
595 Misplaced _ in number at - line 17.
596 Misplaced _ in number at - line 20.
597 Misplaced _ in number at - line 21.
598 Misplaced _ in number at - line 24.
599 Misplaced _ in number at - line 25.
600 Misplaced _ in number at - line 28.
601 Misplaced _ in number at - line 29.
602 Misplaced _ in number at - line 31.
603 Misplaced _ in number at - line 32.
604 Misplaced _ in number at - line 33.
605 Misplaced _ in number at - line 35.
606 Misplaced _ in number at - line 36.
607 Misplaced _ in number at - line 37.
608 Misplaced _ in number at - line 39.
609 Misplaced _ in number at - line 40.
610 Misplaced _ in number at - line 41.
611 Misplaced _ in number at - line 42.
694 use warnings 'bareword' ;
697 no warnings 'bareword' ;
701 Bareword "FRED::" refers to nonexistent package at bar line 25.
705 use open qw( :utf8 :std );
706 use warnings 'bareword' ;
709 no warnings 'bareword' ;
713 Bareword "FRÈD::" refers to nonexistent package at bar line 25.
717 use open qw( :utf8 :std );
718 use warnings 'bareword' ;
721 no warnings 'bareword' ;
725 Bareword "ϞϞϞ::" refers to nonexistent package at bar line 25.
728 use warnings 'ambiguous' ;
731 no warnings 'ambiguous' ;
734 Ambiguous call resolved as CORE::time(), qualify as such or use & at - line 4.
753 Warning: Use of "rand" without parentheses is ambiguous at - line 2.
759 no warnings 'ambiguous' ;
761 use warnings 'ambiguous' ;
766 Warning: Use of "rand" without parentheses is ambiguous at - line 3.
767 Warning: Use of "rand" without parentheses is ambiguous at - line 8.
768 Warning: Use of "rand" without parentheses is ambiguous at - line 10.
774 my $b = whatever + 4 ;
776 Warning: Use of "myrand" without parentheses is ambiguous at - line 4.
779 use warnings "ambiguous";
780 print for keys %+; # should not warn
786 sub hank : lvalue {$_}
787 --hank; # This should *not* warn [perl #77240]
789 Ambiguous use of -fred resolved as -&fred() at - line 3.
796 no warnings 'ambiguous' ;
798 use warnings 'ambiguous' ;
803 Ambiguous use of -fred resolved as -&fred() at - line 4.
804 Ambiguous use of -fred resolved as -&fred() at - line 9.
805 Ambiguous use of -fred resolved as -&fred() at - line 11.
809 use open qw( :utf8 :std );
813 Ambiguous use of -frèd resolved as -&frèd() at - line 5.
818 use open qw( :utf8 :std );
822 no warnings 'ambiguous' ;
824 use warnings 'ambiguous' ;
829 Ambiguous use of -frèd resolved as -&frèd() at - line 6.
830 Ambiguous use of -frèd resolved as -&frèd() at - line 11.
831 Ambiguous use of -frèd resolved as -&frèd() at - line 13.
835 use open qw( :utf8 :std );
839 Ambiguous use of -ᒍᒘᒊ resolved as -&ᒍᒘᒊ() at - line 5.
844 use open qw( :utf8 :std );
848 no warnings 'ambiguous' ;
850 use warnings 'ambiguous' ;
855 Ambiguous use of -ᒍᒘᒊ resolved as -&ᒍᒘᒊ() at - line 6.
856 Ambiguous use of -ᒍᒘᒊ resolved as -&ᒍᒘᒊ() at - line 11.
857 Ambiguous use of -ᒍᒘᒊ resolved as -&ᒍᒘᒊ() at - line 13.
861 open local *FOO; # should be ok
863 Precedence problem: open FOO should be open(FOO) at - line 2.
867 use open qw( :utf8 :std );
870 Precedence problem: open FÒÒ should be open(FÒÒ) at - line 4.
874 use open qw( :utf8 :std );
877 Precedence problem: open ᒍOO should be open(ᒍOO) at - line 4.
879 # toke.c (and [perl #16184])
880 open FOO => "<&0"; close FOO;
887 no warnings 'precedence' ;
889 use warnings 'precedence' ;
893 open Foo::BAR; # this should not warn
895 Precedence problem: open FOO should be open(FOO) at - line 3.
896 Precedence problem: open FOO should be open(FOO) at - line 8.
897 Precedence problem: open FOO should be open(FOO) at - line 10.
902 use open qw( :utf8 :std );
905 no warnings 'precedence' ;
907 use warnings 'precedence' ;
912 Precedence problem: open FÒÒ should be open(FÒÒ) at - line 5.
913 Precedence problem: open FÒÒ should be open(FÒÒ) at - line 10.
914 Precedence problem: open FÒÒ should be open(FÒÒ) at - line 12.
918 use open qw( :utf8 :std );
922 no warnings 'precedence' ;
924 use warnings 'precedence' ;
929 Precedence problem: open ᒍÒÒ should be open(ᒍÒÒ) at - line 5.
930 Precedence problem: open ᒍÒÒ should be open(ᒍÒÒ) at - line 10.
931 Precedence problem: open ᒍÒÒ should be open(ᒍÒÒ) at - line 12.
937 no warnings 'ambiguous' ;
939 use warnings 'ambiguous' ;
943 # These should not warn [perl #117535]:
945 no warnings 'deprecated';
949 Operator or semicolon missing before *foo at - line 3.
950 Ambiguous use of * resolved as operator * at - line 3.
951 Operator or semicolon missing before *foo at - line 8.
952 Ambiguous use of * resolved as operator * at - line 8.
953 Operator or semicolon missing before *foo at - line 10.
954 Ambiguous use of * resolved as operator * at - line 10.
960 no warnings 'ambiguous' ;
962 use warnings 'ambiguous' ;
966 # This should not produce ambiguity warnings [perl #117535]:
970 Operator or semicolon missing before %foo at - line 3.
971 Ambiguous use of % resolved as operator % at - line 3.
972 Operator or semicolon missing before %foo at - line 8.
973 Ambiguous use of % resolved as operator % at - line 8.
974 Operator or semicolon missing before %foo at - line 10.
975 Ambiguous use of % resolved as operator % at - line 10.
976 Bareword found where operator expected at - line 12, near "$%foo"
977 (Missing operator before foo?)
978 Bareword found where operator expected at - line 13, near "$ %foo"
979 (Missing operator before foo?)
980 Illegal modulus zero at - line 3.
986 no warnings 'ambiguous' ;
988 use warnings 'ambiguous' ;
992 # These should not warn produce ambiguity warnings [perl #76910]:
997 Operator or semicolon missing before &foo at - line 3.
998 Ambiguous use of & resolved as operator & at - line 3.
999 Operator or semicolon missing before &foo at - line 8.
1000 Ambiguous use of & resolved as operator & at - line 8.
1001 Operator or semicolon missing before &foo at - line 10.
1002 Ambiguous use of & resolved as operator & at - line 10.
1003 Bareword found where operator expected at - line 13, near "$&foo"
1004 (Missing operator before foo?)
1005 Bareword found where operator expected at - line 14, near "$ &foo"
1006 (Missing operator before foo?)
1007 Undefined subroutine &main::foo called at - line 3.
1011 use open qw( :utf8 :std );
1015 no warnings 'ambiguous' ;
1017 use warnings 'ambiguous' ;
1022 Operator or semicolon missing before *foo at - line 5.
1023 Ambiguous use of * resolved as operator * at - line 5.
1024 Operator or semicolon missing before *foo at - line 10.
1025 Ambiguous use of * resolved as operator * at - line 10.
1026 Operator or semicolon missing before *foo at - line 12.
1027 Ambiguous use of * resolved as operator * at - line 12.
1030 use warnings 'misc' ;
1032 no warnings 'misc' ;
1035 Unrecognized escape \m passed through at - line 3.
1038 use warnings 'misc' ;
1040 no warnings 'misc' ;
1043 Useless use of \E at - line 3.
1046 use feature 'postderef', 'postderef_qq';
1049 no warnings 'experimental::postderef';
1053 Postfix dereference is experimental at - line 3.
1054 Postfix dereference is experimental at - line 4.
1057 use warnings 'portable' ;
1058 my $a = 0b011111111111111111111111111111110 ;
1059 $a = 0b011111111111111111111111111111111 ;
1060 $a = 0b111111111111111111111111111111111 ;
1064 $a = 0037777777776 ;
1065 $a = 0037777777777 ;
1066 $a = 0047777777777 ;
1067 no warnings 'portable' ;
1068 $a = 0b011111111111111111111111111111110 ;
1069 $a = 0b011111111111111111111111111111111 ;
1070 $a = 0b111111111111111111111111111111111 ;
1074 $a = 0037777777776 ;
1075 $a = 0037777777777 ;
1076 $a = 0047777777777 ;
1078 Binary number > 0b11111111111111111111111111111111 non-portable at - line 5.
1079 Hexadecimal number > 0xffffffff non-portable at - line 8.
1080 Octal number > 037777777777 non-portable at - line 11.
1083 use warnings 'overflow' ;
1084 my $a = 0b011111111111111111111111111111110 ;
1085 $a = 0b011111111111111111111111111111111 ;
1086 $a = 0b10000000000000000000000000000000000000000000000000000000000000000 ;
1089 $a = 0x10000000000000000 ;
1090 $a = 0037777777776 ;
1091 $a = 0037777777777 ;
1092 $a = 002000000000000000000000;
1093 no warnings 'overflow' ;
1094 $a = 0b011111111111111111111111111111110 ;
1095 $a = 0b011111111111111111111111111111111 ;
1096 $a = 0b10000000000000000000000000000000000000000000000000000000000000000 ;
1099 $a = 0x10000000000000000 ;
1100 $a = 0037777777776 ;
1101 $a = 0037777777777 ;
1102 $a = 002000000000000000000000;
1104 Integer overflow in binary number at - line 5.
1105 Integer overflow in hexadecimal number at - line 8.
1106 Integer overflow in octal number at - line 11.
1110 use warnings 'misc';
1114 dump() better written as CORE::dump() at - line 4.
1118 use warnings 'misc';
1120 sub dump { print "no warning for overridden dump\n"; }
1123 no warning for overridden dump
1126 use warnings 'ambiguous';
1127 "@mjd_previously_unused_array";
1128 no warnings 'ambiguous';
1129 "@mjd_previously_unused_array2";
1131 Possible unintended interpolation of @mjd_previously_unused_array in string at - line 3.
1135 use open qw( :utf8 :std );
1136 use warnings 'ambiguous';
1137 "@mjd_previously_unused_àrray";
1138 no warnings 'ambiguous';
1139 "@mjd_previously_unused_àrray2";
1141 Possible unintended interpolation of @mjd_previously_unused_àrray in string at - line 5.
1145 use open qw( :utf8 :std );
1146 use warnings 'ambiguous';
1147 "@mjd_previously_unused_ぁrrぁy";
1148 no warnings 'ambiguous';
1149 "@mjd_previously_unused_ぁrrぁy2";
1151 Possible unintended interpolation of @mjd_previously_unused_ぁrrぁy in string at - line 5.
1154 # 20020328 mjd-perl-patch+@plover.com at behest of jfriedl@yahoo.com
1155 use warnings 'regexp';
1158 no warnings 'regexp';
1162 Use of /c modifier is meaningless without /g at - line 4.
1165 # 20020328 mjd-perl-patch+@plover.com at behest of jfriedl@yahoo.com
1166 use warnings 'regexp';
1170 no warnings 'regexp';
1174 Use of /c modifier is meaningless in s/// at - line 5.
1175 Use of /c modifier is meaningless in s/// at - line 6.
1179 # 20020414 mjd-perl-patch+@plover.com # -a flag should suppress these warnings
1186 # 20020414 mjd-perl-patch+@plover.com # -a flag should suppress these warnings
1189 Possible unintended interpolation of @F in string at - line 4.
1190 Name "main::F" used only once: possible typo at - line 4.
1194 # 20020414 mjd-perl-patch+@plover.com
1199 # 20020414 mjd-perl-patch+@plover.com
1200 # In 5.7.3, this emitted "Possible unintended interpolation" warnings
1201 use warnings 'ambiguous';
1208 eval q/if ($a) { } elseif ($b) { }/;
1209 no warnings "syntax";
1210 eval q/if ($a) { } elseif ($b) { }/;
1212 elseif should be elsif at (eval 1) line 1.
1217 no warnings "syntax";
1220 Number found where operator expected at (eval 1) line 1, near "5 6"
1221 (Missing operator before 6?)
1224 use warnings "syntax"; no warnings "deprecated";
1234 no warnings "syntax";
1243 !=~ should be !~ at - line 4.
1244 !=~ should be !~ at - line 5.
1245 !=~ should be !~ at - line 6.
1246 !=~ should be !~ at - line 7.
1247 !=~ should be !~ at - line 8.
1248 !=~ should be !~ at - line 9.
1249 !=~ should be !~ at - line 10.
1256 sub whack_eth ($) : locked {
1258 no warnings 'deprecated';
1261 sub ker_plop :locked {
1263 sub swa_a_p ($) : locked {
1266 Use of :unique is deprecated at - line 2.
1267 Use of :locked is deprecated at - line 3.
1268 Use of :locked is deprecated at - line 4.
1269 Use of :locked is deprecated at - line 6.
1272 use warnings "syntax"; use feature 'lexical_subs';
1273 sub proto_after_array(@$);
1274 sub proto_after_arref(\@$);
1275 sub proto_after_arref2(\[@$]);
1276 sub proto_after_arref3(\[@$]_);
1277 sub proto_after_hash(%$);
1278 sub proto_after_hashref(\%$);
1279 sub proto_after_hashref2(\[%$]);
1280 sub underscore_last_pos($_);
1281 sub underscore2($_;$);
1282 sub underscore_fail($_$);
1283 sub underscore_after_at(@_);
1286 use feature 'state';
1287 state sub estate (@$);
1292 no warnings "syntax";
1293 sub proto_after_array(@$);
1294 sub proto_after_hash(%$);
1295 sub underscore_fail($_$);
1297 Prototype after '@' for main::proto_after_array : @$ at - line 3.
1298 Prototype after '%' for main::proto_after_hash : %$ at - line 7.
1299 Illegal character after '_' in prototype for main::underscore_fail : $_$ at - line 12.
1300 Prototype after '@' for main::underscore_after_at : @_ at - line 13.
1301 The lexical_subs feature is experimental at - line 14.
1302 Prototype after '@' for hour : @$ at - line 14.
1303 The lexical_subs feature is experimental at - line 15.
1304 Prototype after '@' for migh : @$ at - line 15.
1305 The lexical_subs feature is experimental at - line 17.
1306 Prototype after '@' for estate : @$ at - line 17.
1307 Prototype after '@' for hour : @$ at - line 19.
1308 Prototype after '@' for migh : @$ at - line 20.
1309 Prototype after '@' for estate : @$ at - line 21.
1312 use warnings "ambiguous";
1313 "foo\nn" =~ /^foo$\n/;
1314 "foo\nn" =~ /^foo${\}n/;
1315 my $foo = qr/^foo$\n/;
1316 my $bar = qr/^foo${\}n/;
1317 no warnings "ambiguous";
1318 "foo\nn" =~ /^foo$\n/;
1319 "foo\nn" =~ /^foo${\}n/;
1320 my $foo = qr/^foo$\n/;
1321 my $bar = qr/^foo${\}n/;
1323 Possible unintended interpolation of $\ in regex at - line 3.
1324 Possible unintended interpolation of $\ in regex at - line 5.
1327 use warnings 'syntax' ;
1331 no warnings 'syntax' ;
1336 Missing braces on \o{} at - line 3, within string
1337 Missing right brace on \o{ at - line 4, within string
1338 Number with no digits at - line 5, within string
1339 BEGIN not safe after errors--compilation aborted at - line 6.
1342 use warnings 'digit' ;
1343 my $a = "\o{1238456}";
1344 no warnings 'digit' ;
1345 my $a = "\o{1238456}";
1347 Non-octal character '8'. Resolved as "\o{123}" at - line 3.
1352 print $a =~ ?f? ? "yes\n" : "no\n" foreach 0..2;
1354 Use of ?PATTERN? without explicit operator is deprecated at - line 4.
1364 no warnings 'syntax';
1368 no warnings 'deprecated';
1370 "\c{" is deprecated and is more clearly written as ";" at - line 3.
1371 "\c," is more clearly written simply as "l" at - line 4.
1372 "\c`" is more clearly written simply as "\ " at - line 5.
1373 "\c{" is deprecated and is more clearly written as ";" at - line 7.
1376 use warnings 'syntax' ;
1382 no warnings 'syntax' ;
1385 Regexp modifiers "/d" and "/u" are mutually exclusive at - line 3, near "= "
1386 Regexp modifiers "/l" and "/a" are mutually exclusive at - line 4, near "= "
1387 Regexp modifier "/l" may not appear twice at - line 5, near "= "
1388 Regexp modifier "/a" may appear a maximum of twice at - line 7, near "= "
1389 BEGIN not safe after errors--compilation aborted at - line 8.
1393 eval "print q\xabfoo";
1395 $@ =~ /Can't find string terminator "\xab" anywhere before EOF/;
1401 use open qw( :utf8 :std );
1402 use warnings 'ambiguous' ;
1405 no warnings 'ambiguous' ;
1408 Ambiguous use of ${frèd} resolved to $frèd at - line 6.
1412 use open qw( :utf8 :std );
1413 use warnings 'ambiguous' ;
1416 no warnings 'ambiguous' ;
1419 Ambiguous use of ${f렏} resolved to $f렏 at - line 6.
1423 use open qw( :utf8 :std );
1427 CORE::렏 is not a keyword at - line 5.
1432 eval this_method_is_fake ();
1434 Undefined subroutine &main::this_method_is_fake called at - line 4.
1437 # [perl #107002] Erroneous ambiguity warnings
1438 sub { # do not actually call require
1439 require a::b . 1; # These used to produce erroneous
1440 require a::b + 1; # ambiguity warnings.
1445 # [perl #113094], [perl #119101]
1446 print "aa" =~ m{^a\{1,2\}$}, "\n";
1447 print "aa" =~ m{^a\x\{61\}$}, "\n";
1448 print "a\\x{6F}" =~ m{^a\\x\{6F\}$}, "\n";
1449 print "a\\o" =~ m{^a\\\x\{6F\}$}, "\n";
1450 print "a\\\\x{6F}" =~ m{^a\\\\x\{6F\}$}, "\n";
1451 print "a\\\\o" =~ m{^a\\\\\x\{6F\}$}, "\n";
1452 print "aa" =~ m{^a{1,2}$}, "\n";
1453 print "aq" =~ m[^a\[a-z\]$], "\n";
1454 print "aq" =~ m(^a\(q\)$), "\n";
1455 no warnings 'deprecated';
1456 print "aa" =~ m{^a\{1,2\}$}, "\n";
1457 print "aa" =~ m{^a\x\{61\}$}, "\n";
1458 print "a\\x{6F}" =~ m{^a\\x\{6F\}$}, "\n";
1459 print "a\\o" =~ m{^a\\\x\{6f\}$}, "\n";
1460 print "aq" =~ m[^a\[a-z\]$], "\n";
1461 print "aq" =~ m(^a\(q\)$), "\n";
1463 Useless use of '\'; doesn't escape metacharacter '{' at - line 3.
1464 Useless use of '\'; doesn't escape metacharacter '{' at - line 4.
1465 Useless use of '\'; doesn't escape metacharacter '{' at - line 6.
1466 Useless use of '\'; doesn't escape metacharacter '{' at - line 8.
1467 Useless use of '\'; doesn't escape metacharacter '[' at - line 10.
1468 Useless use of '\'; doesn't escape metacharacter '(' at - line 11.
1486 #[perl #119123] disallow literal control character variables
1488 eval "\${ \cX } = 24";
1491 }; # shouldn't warn on {\n, even though \n is a control character
1493 Use of literal control characters in variable names is deprecated at (eval 1) line 1.
1494 Use of literal control characters in variable names is deprecated at (eval 2) line 1.