2.11. The defined FunctionOne operator that can return undef is the line-input operator, <STDIN>. Normally, it returns a line of text. But if there is no more input, such as at end-of-file, it will return undef to signal this.[*] To tell if a value is undef and not the empty string, use the defined function, which returns false for undef and true for everything else:
$madonna = <STDIN>; if ( defined($madonna) ) { print "The input was $madonna"; } else { print "No input available!\n"; } If you'd like to make your own undef values, you can use the obscurely named undef operator: $madonna = undef; # As if it had never been touched |