$ perl -Mstrict -wE ' > sub grok > { > my $str = shift; > say > defined $str > ? $str > ? qq{>$str<: defined and true} > : qq{>$str<: defined but not true} > : qq{>$str<: undefined}; > } > > my $str; > grok( $str ); > $str = q{}; > grok( $str ); > $str = q{ }; > grok( $str ); > $str .= q{ABC}; > grok( $str );' Use of uninitialized value $str in concatenation (.) or string at -e line 5. ><: undefined ><: defined but not true > <: defined and true > ABC<: defined and true $