$ perl -Mstrict -ew 'if(undef() eq undef()){print "true"}else{print "false"}' Bareword "w" not allowed while "strict subs" in use at -e line 1. Execution of -e aborted due to compilation errors. $ perl -Mstrict -we 'if(undef() eq undef()){print "true"}else{print "false"}' Use of uninitialized value in string eq at -e line 1. Use of uninitialized value in string eq at -e line 1. true