Section 2.11. The defined Function


2.11. The defined Function

One 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:

[*] Normally, there's no "end-of-file" when the input comes from the keyboard, but the 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.

     $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 



Learning Perl
Learning Perl, 5th Edition
ISBN: 0596520107
EAN: 2147483647
Year: 2003
Pages: 232

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net