in reply to Four annoying warnings
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 :)
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Four annoying warnings
by tobyink (Canon) on Dec 09, 2012 at 00:59 UTC | |
by chrestomanci (Priest) on Dec 11, 2012 at 17:01 UTC |