C:\test>perl -M-warnings=uninitialized,numeric,once,void -E"123;$x=1;print $y; 'A'+0" C:\test>perl -Mwarnings=uninitialized,numeric,once,void -E"123;$x=1;print $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.