Hm. Each of those warnings catch many of my most frequent typos and brain farts in first drafts of code.
However,I do agree with you that there are many situations where -- at least some of them -- are better ignored than coded around.
But, your "just disable them" code block makes it look more of a chore than is necessary:
C:\test>perl -M-warnings=uninitialized,numeric,once,void -E"123;$x=1;p +rint $y; 'A'+0" C:\test>perl -Mwarnings=uninitialized,numeric,once,void -E"123;$x=1;pr +int $y; 'A'+0" Useless use of a constant in void context at -e line 1. Useless use of addition (+) in void context at -e line 1. Name "main::y" used only once: possible typo at -e line 1. Name "main::x" used only once: possible typo at -e line 1. Use of uninitialized value $y in print at -e line 1. Argument "A" isn't numeric in addition (+) at -e line 1.
(My point being that args to no warnings;can be multiple:no warnings qw[uninitialized numeric once void];
The one that really bugs me is:
C:\test>perl -wE"say (1+2)*3" say (...) interpreted as function at -e line 1. Useless use of multiplication (*) in void context at -e line 1. 3
But it is not the warning that bugs me, but rather the interpretation.
There is -- IMO -- absolutely no logic for allowing a space between a function name and its argument grouping parens. None whatsoever.
If the syntax required that if parens are used on a function call, the left paren must be abutted to the function name, that annoyance would go away.
I also wish that there were a :nocommon group label; though we could probably argue for a week about which should, and should not, be included :)
In reply to Re: Four annoying warnings
by BrowserUk
in thread Four annoying warnings
by tobyink
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |