The Defined Function

As we've seen, one operator that can return undef is the line-input operator, <STDIN>.  Normally, it will return a line of text.  But if there is no more input, such as at end-of-file, it returns undef to signal this condition. 1  To tell whether 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

Next:  Exercises

OR

Main Menu for this topic
























1 Normally, there's no end-of-file when the input comes from the keyboard, but input may have been redirected to come from a file.  Or the user may have pressed the key that the system recognizes to indicate end-of-file.

Return to the page from whence you came