Perl command.
Undef as a verb (that is, used with parameters) means "discard the value of this variable". For example, undef $foo;
removes the value of variable $foo.
Undef as a noun (that is, used as a parameter) means "value is undefined". For example, if($something < $everything) { return $something; } else { return undef; }
will return $something if the condition is true, otherwise it returns an undefined value.
Note that undefined value is different from simply false value, a variable that doesn't exist, and a hash key that doesn't exist. For example, if you say $hash{'key'} = undef;
then exists $hash{'key'}
will be true, but defined $hash{'key'}
is false. Likewise, if you say $foo = 0;
then $foo is defined, but it's a false value.