Note that when this command is called in a function then the local variable is undefined and the caller variable passed by reference is not changed. Therefore
sub xx(a)
undef a
end sub
q = 1
xx q
print q
will print 1 and not undef.
On the other hand
sub xx(a)
a = undef
end sub
q = 1
xx q
print q
does print undef.