% perl -wle 'use warnings; { no warnings; $x == 1 } print "ok"' ok % perl -Wle 'use warnings; { no warnings; $x == 1 } print "ok"' Useless use of numeric eq (==) in void context at -e line 1. Name "main::x" used only once: possible typo at -e line 1. Use of uninitialized value in numeric eq (==) at -e line 1. ok