3 Found = in conditional, should be ==
6 Use of implicit split to @_ is deprecated
9 Use of implicit split to @_ is deprecated
12 Useless use of time in void context
13 Useless use of a variable in void context
14 Useless use of a constant in void context
19 Useless use of sort in scalar context
22 Applying %s to %s will act on scalar(%s)
23 my $a ; my @a = () ; my %a = () ; my $b = \@a ; my $c = \%a ;
38 Parentheses missing around "my" list at -e line 1.
41 Parentheses missing around "local" list at -e line 1.
44 Bareword found in conditional at -e line 1.
45 use warnings 'bareword'; my $x = print(ABC || 1);
47 Value of %s may be \"0\"; use \"defined\"
49 $x = 1 while $x = <FH> ;
51 Subroutine fred redefined at -e line 1.
52 sub fred{1;} sub fred{1;}
54 Constant subroutine %s redefined
55 sub fred() {1;} sub fred() {1;}
57 Format FRED redefined at /tmp/x line 5.
63 Array @%s missing the @ in argument %d of %s()
66 Hash %%%s missing the %% in argument %d of %s()
69 Statement unlikely to be reached
70 (Maybe you meant system() when you said exec()?
73 defined(@array) is deprecated
74 (Maybe you should just omit the defined()?)
76 defined (@a = (1,2,3)) ;
78 defined(%hash) is deprecated
79 (Maybe you should just omit the defined()?)
82 /---/ should probably be written as "---"
85 %s() called too early to check prototype [Perl_peep]
86 fred() ; sub fred ($$) {}
89 Package `%s' not found (did you use the incorrect case?)
91 Use of /g modifier is meaningless in split
93 Possible precedence problem on bitwise %c operator [Perl_ck_bitop]
97 Prototype mismatch: [cv_ckproto]
101 Runaway prototype [newSUB] TODO
102 oops: oopsAV [oopsAV] TODO
103 oops: oopsHV [oopsHV] TODO
107 use warnings 'syntax' ;
109 no warnings 'syntax' ;
112 Found = in conditional, should be == at - line 3.
115 use warnings 'deprecated' ;
117 no warnings 'deprecated' ;
120 Use of implicit split to @_ is deprecated at - line 3.
123 use warnings 'deprecated' ;
125 no warnings 'deprecated' ;
128 Use of implicit split to @_ is deprecated at - line 3.
131 use warnings 'deprecated';
137 $main::foo = {}; %$main::foo->{"bar"};
138 $foo = {}; %$foo->{"bar"};
139 $main::foo = []; @$main::foo->[34];
140 $foo = []; @$foo->[34];
141 no warnings 'deprecated';
146 $main::foo = {}; %$main::foo->{"bar"};
147 $foo = {}; %$foo->{"bar"};
148 $main::foo = []; @$main::foo->[34];
149 $foo = []; @$foo->[34];
151 Using a hash as a reference is deprecated at - line 4.
152 Using a hash as a reference is deprecated at - line 5.
153 Using an array as a reference is deprecated at - line 6.
154 Using an array as a reference is deprecated at - line 7.
155 Using a hash as a reference is deprecated at - line 8.
156 Using a hash as a reference is deprecated at - line 9.
157 Using an array as a reference is deprecated at - line 10.
158 Using an array as a reference is deprecated at - line 11.
161 use warnings 'void' ; close STDIN ;
164 wantarray ; # OP_WANTARRAY
174 defined $a ; # OP_DEFINED
177 length $a ; # OP_LENGTH
178 substr $a,1 ; # OP_SUBSTR
179 vec $a,1,2 ; # OP_VEC
180 index $a,1,2 ; # OP_INDEX
181 rindex $a,1,2 ; # OP_RINDEX
182 sprintf $a ; # OP_SPRINTF
186 #values %a ; # OP_VALUES
190 unpack "a", "a" ; # OP_UNPACK
191 pack $a,"" ; # OP_PACK
193 (@a)[0,1] ; # OP_LSLICE
196 sort(1,2) ; # OP_SORT
197 reverse(1,2) ; # OP_REVERSE
202 fileno STDIN ; # OP_FILENO
204 tell STDIN ; # OP_TELL
205 readlink 1; # OP_READLINK
207 localtime ; # OP_LOCALTIME
209 eval { getgrnam 1 }; # OP_GGRNAM
210 eval { getgrgid 1 }; # OP_GGRGID
211 eval { getpwnam 1 }; # OP_GPWNAM
212 eval { getpwuid 1 }; # OP_GPWUID
213 prototype "foo"; # OP_PROTOTYPE
215 Useless use of repeat (x) in void context at - line 3.
216 Useless use of wantarray in void context at - line 5.
217 Useless use of reference-type operator in void context at - line 12.
218 Useless use of reference constructor in void context at - line 13.
219 Useless use of single ref constructor in void context at - line 14.
220 Useless use of defined operator in void context at - line 15.
221 Useless use of hex in void context at - line 16.
222 Useless use of oct in void context at - line 17.
223 Useless use of length in void context at - line 18.
224 Useless use of substr in void context at - line 19.
225 Useless use of vec in void context at - line 20.
226 Useless use of index in void context at - line 21.
227 Useless use of rindex in void context at - line 22.
228 Useless use of sprintf in void context at - line 23.
229 Useless use of array element in void context at - line 24.
230 Useless use of array slice in void context at - line 26.
231 Useless use of hash element in void context at - line 29.
232 Useless use of hash slice in void context at - line 30.
233 Useless use of unpack in void context at - line 31.
234 Useless use of pack in void context at - line 32.
235 Useless use of join or string in void context at - line 33.
236 Useless use of list slice in void context at - line 34.
237 Useless use of sort in void context at - line 37.
238 Useless use of reverse in void context at - line 38.
239 Useless use of range (or flop) in void context at - line 41.
240 Useless use of caller in void context at - line 42.
241 Useless use of fileno in void context at - line 43.
242 Useless use of eof in void context at - line 44.
243 Useless use of tell in void context at - line 45.
244 Useless use of readlink in void context at - line 46.
245 Useless use of time in void context at - line 47.
246 Useless use of localtime in void context at - line 48.
247 Useless use of gmtime in void context at - line 49.
248 Useless use of getgrnam in void context at - line 50.
249 Useless use of getgrgid in void context at - line 51.
250 Useless use of getpwnam in void context at - line 52.
251 Useless use of getpwuid in void context at - line 53.
252 Useless use of subroutine prototype in void context at - line 54.
255 use warnings 'void' ; close STDIN ;
256 my $x = sort (2,1,3);
260 Useless use of sort in scalar context at - line 3.
263 no warnings 'void' ; close STDIN ;
266 wantarray ; # OP_WANTARRAY
276 defined $a ; # OP_DEFINED
279 length $a ; # OP_LENGTH
280 substr $a,1 ; # OP_SUBSTR
281 vec $a,1,2 ; # OP_VEC
282 index $a,1,2 ; # OP_INDEX
283 rindex $a,1,2 ; # OP_RINDEX
284 sprintf $a ; # OP_SPRINTF
288 #values %a ; # OP_VALUES
292 unpack "a", "a" ; # OP_UNPACK
293 pack $a,"" ; # OP_PACK
295 (@a)[0,1] ; # OP_LSLICE
298 sort(1,2) ; # OP_SORT
299 reverse(1,2) ; # OP_REVERSE
304 fileno STDIN ; # OP_FILENO
306 tell STDIN ; # OP_TELL
307 readlink 1; # OP_READLINK
309 localtime ; # OP_LOCALTIME
311 eval { getgrnam 1 }; # OP_GGRNAM
312 eval { getgrgid 1 }; # OP_GGRGID
313 eval { getpwnam 1 }; # OP_GPWNAM
314 eval { getpwuid 1 }; # OP_GPWUID
315 prototype "foo"; # OP_PROTOTYPE
319 use warnings 'void' ;
320 for (@{[0]}) { "$_" } # check warning isn't duplicated
322 for (@{[0]}) { "$_" } # check warning isn't duplicated
324 Useless use of string in void context at - line 3.
327 use warnings 'void' ;
330 if ( ! $Config{d_telldir}) {
333 # telldir not present
338 telldir 1 ; # OP_TELLDIR
340 telldir 1 ; # OP_TELLDIR
342 Useless use of telldir in void context at - line 13.
345 use warnings 'void' ;
348 if ( ! $Config{d_getppid}) {
351 # getppid not present
356 getppid ; # OP_GETPPID
358 getppid ; # OP_GETPPID
360 Useless use of getppid in void context at - line 13.
363 use warnings 'void' ;
366 if ( ! $Config{d_getpgrp}) {
369 # getpgrp not present
374 getpgrp ; # OP_GETPGRP
376 getpgrp ; # OP_GETPGRP
378 Useless use of getpgrp in void context at - line 13.
381 use warnings 'void' ;
384 if ( ! $Config{d_times}) {
396 Useless use of times in void context at - line 13.
399 use warnings 'void' ;
402 if ( ! $Config{d_getprior} or $^O eq 'os2') { # Locks before fixpak22
405 # getpriority not present
410 getpriority 1,2; # OP_GETPRIORITY
412 getpriority 1,2; # OP_GETPRIORITY
414 Useless use of getpriority in void context at - line 13.
417 use warnings 'void' ;
420 if ( ! $Config{d_getlogin}) {
423 # getlogin not present
428 getlogin ; # OP_GETLOGIN
430 getlogin ; # OP_GETLOGIN
432 Useless use of getlogin in void context at - line 13.
435 use warnings 'void' ;
437 if ( ! $Config{d_socket}) {
440 # getsockname not present
441 # getpeername not present
442 # gethostbyname not present
443 # gethostbyaddr not present
444 # gethostent not present
445 # getnetbyname not present
446 # getnetbyaddr not present
447 # getnetent not present
448 # getprotobyname not present
449 # getprotobynumber not present
450 # getprotoent not present
451 # getservbyname not present
452 # getservbyport not present
453 # getservent not present
457 getsockname STDIN ; # OP_GETSOCKNAME
458 getpeername STDIN ; # OP_GETPEERNAME
459 gethostbyname 1 ; # OP_GHBYNAME
460 gethostbyaddr 1,2; # OP_GHBYADDR
461 gethostent ; # OP_GHOSTENT
462 getnetbyname 1 ; # OP_GNBYNAME
463 getnetbyaddr 1,2 ; # OP_GNBYADDR
464 getnetent ; # OP_GNETENT
465 getprotobyname 1; # OP_GPBYNAME
466 getprotobynumber 1; # OP_GPBYNUMBER
467 getprotoent ; # OP_GPROTOENT
468 getservbyname 1,2; # OP_GSBYNAME
469 getservbyport 1,2; # OP_GSBYPORT
470 getservent ; # OP_GSERVENT
473 getsockname STDIN ; # OP_GETSOCKNAME
474 getpeername STDIN ; # OP_GETPEERNAME
475 gethostbyname 1 ; # OP_GHBYNAME
476 gethostbyaddr 1,2; # OP_GHBYADDR
477 gethostent ; # OP_GHOSTENT
478 getnetbyname 1 ; # OP_GNBYNAME
479 getnetbyaddr 1,2 ; # OP_GNBYADDR
480 getnetent ; # OP_GNETENT
481 getprotobyname 1; # OP_GPBYNAME
482 getprotobynumber 1; # OP_GPBYNUMBER
483 getprotoent ; # OP_GPROTOENT
484 getservbyname 1,2; # OP_GSBYNAME
485 getservbyport 1,2; # OP_GSBYPORT
486 getservent ; # OP_GSERVENT
488 # some functions may not be there, so we exit without running
492 Useless use of getsockname in void context at - line 24.
493 Useless use of getpeername in void context at - line 25.
494 Useless use of gethostbyname in void context at - line 26.
495 Useless use of gethostbyaddr in void context at - line 27.
496 Useless use of gethostent in void context at - line 28.
497 Useless use of getnetbyname in void context at - line 29.
498 Useless use of getnetbyaddr in void context at - line 30.
499 Useless use of getnetent in void context at - line 31.
500 Useless use of getprotobyname in void context at - line 32.
501 Useless use of getprotobynumber in void context at - line 33.
502 Useless use of getprotoent in void context at - line 34.
503 Useless use of getservbyname in void context at - line 35.
504 Useless use of getservbyport in void context at - line 36.
505 Useless use of getservent in void context at - line 37.
508 use warnings 'void' ;
519 Useless use of a variable in void context at - line 3.
520 Useless use of a variable in void context at - line 4.
521 Useless use of a variable in void context at - line 5.
522 Useless use of a variable in void context at - line 6.
525 use warnings 'void' ;
532 Useless use of a constant in void context at - line 3.
533 Useless use of a constant in void context at - line 4.
537 use warnings 'misc' ;
538 my $a ; my @a = () ; my %a = () ; my $b = \@a ; my $c = \%a ;
553 my $a ; my @a = () ; my %a = () ; my $b = \@a ; my $c = \%a ;
568 Applying pattern match (m//) to @array will act on scalar(@array) at - line 5.
569 Applying substitution (s///) to @array will act on scalar(@array) at - line 6.
570 Applying transliteration (tr///) to @array will act on scalar(@array) at - line 7.
571 Applying pattern match (m//) to @array will act on scalar(@array) at - line 8.
572 Applying substitution (s///) to @array will act on scalar(@array) at - line 9.
573 Applying transliteration (tr///) to @array will act on scalar(@array) at - line 10.
574 Applying pattern match (m//) to %hash will act on scalar(%hash) at - line 11.
575 Applying substitution (s///) to %hash will act on scalar(%hash) at - line 12.
576 Applying transliteration (tr///) to %hash will act on scalar(%hash) at - line 13.
577 Applying pattern match (m//) to %hash will act on scalar(%hash) at - line 14.
578 Applying substitution (s///) to %hash will act on scalar(%hash) at - line 15.
579 Applying transliteration (tr///) to %hash will act on scalar(%hash) at - line 16.
580 Can't modify private array in substitution (s///) at - line 6, near "s/a/b/ ;"
581 BEGIN not safe after errors--compilation aborted at - line 18.
584 use warnings 'parenthesis' ;
586 my @foo,%bar, $quux; # there's a TAB here
588 no warnings 'parenthesis' ;
591 Parentheses missing around "my" list at - line 3.
592 Parentheses missing around "my" list at - line 4.
595 use warnings 'parenthesis' ;
597 no warnings 'parenthesis' ;
600 Parentheses missing around "our" list at - line 3.
603 use warnings 'parenthesis' ;
604 local $a, $b = (1,2);
606 no warnings 'parenthesis' ;
607 local $c, $d = (1,2);
609 Parentheses missing around "local" list at - line 3.
610 Parentheses missing around "local" list at - line 4.
613 use warnings 'bareword' ;
615 no warnings 'bareword' ;
618 Bareword found in conditional at - line 3.
624 use warnings 'misc' ;
626 $x = 1 if $x = <FH> ;
628 $x = 1 if $x = <FH> ;
630 Value of <HANDLE> construct can be "0"; test with defined() at - line 4.
633 use warnings 'misc' ;
635 $x = 1 if $x = readdir FH ;
637 $x = 1 if $x = readdir FH ;
640 Value of readdir() operator can be "0"; test with defined() at - line 4.
643 use warnings 'misc' ;
648 Value of glob construct can be "0"; test with defined() at - line 3.
651 use warnings 'misc' ;
653 $x = 1 if $x = each %a ;
655 $x = 1 if $x = each %a ;
657 Value of each() operator can be "0"; test with defined() at - line 4.
660 use warnings 'misc' ;
661 $x = 1 while $x = <*> and 0 ;
663 $x = 1 while $x = <*> and 0 ;
665 Value of glob construct can be "0"; test with defined() at - line 3.
668 use warnings 'misc' ;
670 $x = 1 while $x = readdir FH and 0 ;
672 $x = 1 while $x = readdir FH and 0 ;
675 Value of readdir() operator can be "0"; test with defined() at - line 4.
680 $_ = <FH> err $_ = 1;
681 ($_ = <FH>) // ($_ = 1);
683 $_ = readdir DH err $_ = 1;
686 $_ = each %a err $_ = 1;
690 use warnings 'redefine' ;
693 no warnings 'redefine' ;
696 Subroutine fred redefined at - line 4.
699 use warnings 'redefine' ;
702 no warnings 'redefine' ;
705 Constant subroutine fred redefined at - line 4.
708 no warnings 'redefine' ;
712 Constant subroutine fred redefined at - line 4.
715 no warnings 'redefine' ;
717 *fred = sub () { 2 };
719 Constant subroutine main::fred redefined at - line 4.
722 use warnings 'redefine' ;
727 no warnings 'redefine' ;
731 Format FRED redefined at - line 5.
734 use warnings 'deprecated' ;
736 no warnings 'deprecated' ;
739 Array @FRED missing the @ in argument 1 of push() at - line 3.
742 use warnings 'deprecated' ;
744 no warnings 'deprecated' ;
747 Hash %FRED missing the % in argument 1 of keys() at - line 3.
751 if ($^O eq 'MacOS') {
759 use warnings 'syntax' ;
763 Statement unlikely to be reached at - line 13.
764 (Maybe you meant system() when you said exec()?)
767 use warnings 'deprecated' ;
770 defined(@array) is deprecated at - line 3.
771 (Maybe you should just omit the defined()?)
774 use warnings 'deprecated' ;
775 defined(@a = (1,2,3));
777 defined(@array) is deprecated at - line 3.
778 (Maybe you should just omit the defined()?)
781 use warnings 'deprecated' ;
784 defined(%hash) is deprecated at - line 3.
785 (Maybe you should just omit the defined()?)
789 if ($^O eq 'MacOS') {
797 no warnings 'syntax' ;
807 Prototype mismatch: sub main::fred () vs ($) at - line 3.
814 no warnings 'prototype' ;
817 use warnings 'prototype' ;
824 Prototype mismatch: sub main::fred () vs ($) at - line 4.
825 Prototype mismatch: sub main::freD () vs ($) at - line 11.
826 Prototype mismatch: sub main::FRED () vs ($) at - line 14.
829 use warnings 'syntax' ;
830 join /---/, 'x', 'y', 'z';
832 /---/ should probably be written as "---" at - line 3.
835 use warnings 'prototype' ;
838 no warnings 'prototype' ;
842 main::fred() called too early to check prototype at - line 3.
844 # op.c [Perl_newATTRSUB]
846 use warnings 'void' ;
847 BEGIN { $| = 1; print "in begin\n"; }
848 CHECK { print "in check\n"; }
849 INIT { print "in init\n"; }
850 END { print "in end\n"; }
851 print "in mainline\n";
855 delete $INC{"abc.pm"};
864 Too late to run CHECK block at abc.pm line 3.
865 Too late to run INIT block at abc.pm line 4.
868 Too late to run CHECK block at abc.pm line 3.
869 Too late to run INIT block at abc.pm line 4.
875 # op.c [Perl_newATTRSUB]
878 BEGIN { $| = 1; print "in begin\n"; }
879 CHECK { print "in check\n"; }
880 INIT { print "in init\n"; }
881 END { print "in end\n"; }
882 print "in mainline\n";
897 use warnings 'syntax' ;
900 no warnings 'syntax' ;
904 Useless use of push with no values at - line 4.
905 Useless use of unshift with no values at - line 5.
908 # 20020401 mjd@plover.com at suggestion of jfriedl@yahoo.com
909 use warnings 'regexp';
910 split /blah/g, "blah";
911 no warnings 'regexp';
912 split /blah/g, "blah";
914 Use of /g modifier is meaningless in split at - line 4.
917 use warnings 'precedence';
925 $a &= $b == $c; $a |= $b == $c; $a ^= $b == $c; # shouldn't warn
926 no warnings 'precedence';
935 Possible precedence problem on bitwise & operator at - line 3.
936 Possible precedence problem on bitwise ^ operator at - line 4.
937 Possible precedence problem on bitwise | operator at - line 5.
938 Possible precedence problem on bitwise & operator at - line 6.
939 Possible precedence problem on bitwise ^ operator at - line 7.
940 Possible precedence problem on bitwise | operator at - line 8.
941 Possible precedence problem on bitwise & operator at - line 9.
945 use warnings 'precedence';
953 no warnings 'precedence';
962 Possible precedence problem on bitwise & operator at - line 4.
963 Possible precedence problem on bitwise ^ operator at - line 5.
964 Possible precedence problem on bitwise | operator at - line 6.
965 Possible precedence problem on bitwise & operator at - line 7.
966 Possible precedence problem on bitwise ^ operator at - line 8.
967 Possible precedence problem on bitwise | operator at - line 9.
968 Possible precedence problem on bitwise & operator at - line 10.
972 # ok => local() has desired effect;
973 # ignore=> local() silently ignored
975 use warnings 'syntax';
977 local(undef); # OP_UNDEF ignore
978 sub lval : lvalue {};
979 local(lval()); # OP_ENTERSUB
980 local($x **= 1); # OP_POW
981 local($x *= 1); # OP_MULTIPLY
982 local($x /= 1); # OP_DIVIDE
983 local($x %= 1); # OP_MODULO
984 local($x x= 1); # OP_REPEAT
985 local($x += 1); # OP_ADD
986 local($x -= 1); # OP_SUBTRACT
987 local($x .= 1); # OP_CONCAT
988 local($x <<= 1); # OP_LEFT_SHIFT
989 local($x >>= 1); # OP_RIGHT_SHIFT
990 local($x &= 1); # OP_BIT_AND
991 local($x ^= 1); # OP_BIT_XOR
992 local($x |= 1); # OP_BIT_OR
995 local($x *= 1); # OP_I_MULTIPLY
996 local($x /= 1); # OP_I_DIVIDE
997 local($x %= 1); # OP_I_MODULO
998 local($x += 1); # OP_I_ADD
999 local($x -= 1); # OP_I_SUBTRACT
1001 local($x?$y:$z) = 1; # OP_COND_EXPR ok
1002 # these two are fatal run-time errors instead
1003 #local(@$a); # OP_RV2AV ok
1004 #local(%$a); # OP_RV2HV ok
1005 local(*a); # OP_RV2GV ok
1006 local(@a[1,2]); # OP_ASLICE ok
1007 local(@a{1,2}); # OP_HSLICE ok
1008 local(@a = (1,2)); # OP_AASSIGN
1009 local($$x); # OP_RV2SV ok
1010 local($#a); # OP_AV2ARYLEN
1011 local($x = 1); # OP_SASSIGN
1012 local($x &&= 1); # OP_ANDASSIGN
1013 local($x ||= 1); # OP_ORASSIGN
1014 local($x //= 1); # OP_DORASSIGN
1015 local($a[0]); # OP_AELEMFAST ok
1017 local(substr($x,0,1)); # OP_SUBSTR
1018 local(pos($x)); # OP_POS
1019 local(vec($x,0,1)); # OP_VEC
1020 local($a[$b]); # OP_AELEM ok
1021 local($a{$b}); # OP_HELEM ok
1023 no warnings 'syntax';
1025 Useless localization of subroutine entry at - line 10.
1026 Useless localization of exponentiation (**) at - line 11.
1027 Useless localization of multiplication (*) at - line 12.
1028 Useless localization of division (/) at - line 13.
1029 Useless localization of modulus (%) at - line 14.
1030 Useless localization of repeat (x) at - line 15.
1031 Useless localization of addition (+) at - line 16.
1032 Useless localization of subtraction (-) at - line 17.
1033 Useless localization of concatenation (.) or string at - line 18.
1034 Useless localization of left bitshift (<<) at - line 19.
1035 Useless localization of right bitshift (>>) at - line 20.
1036 Useless localization of bitwise and (&) at - line 21.
1037 Useless localization of bitwise xor (^) at - line 22.
1038 Useless localization of bitwise or (|) at - line 23.
1039 Useless localization of integer multiplication (*) at - line 26.
1040 Useless localization of integer division (/) at - line 27.
1041 Useless localization of integer modulus (%) at - line 28.
1042 Useless localization of integer addition (+) at - line 29.
1043 Useless localization of integer subtraction (-) at - line 30.
1044 Useless localization of list assignment at - line 39.
1045 Useless localization of array length at - line 41.
1046 Useless localization of scalar assignment at - line 42.
1047 Useless localization of logical and assignment (&&=) at - line 43.
1048 Useless localization of logical or assignment (||=) at - line 44.
1049 Useless localization of defined or assignment (//=) at - line 45.
1050 Useless localization of substr at - line 48.
1051 Useless localization of match position at - line 49.
1052 Useless localization of vec at - line 50.