undef EXPR undef Undefines the value of EXPR, which must be an lvalue. Use only on a scalar value, an array (using "@"), a hash (using "%"), a subroutine (using "&"), or a typeglob (using "*"). (Saying "undef $hash{$key}" will probably not do what you expect on most predefined variables or DBM list values, so don't do that; see delete.) Always returns the undefined value.