$ perl -Mwarnings -le 'my $x; print 1 if $x == undef' Use of uninitialized value in numeric eq (==) at -e line 1. Use of uninitialized value $x in numeric eq (==) at -e line 1. 1 #### $ perl -Mwarnings -le 'my $x; print 1 if defined $x' #### $ perl -Mwarnings -le 'my $x; print 1 if ! defined $x' 1