in reply to deleting glob does not undef values?

delete $A::{bbb} deletes an entry from the %A:: stash, which means that there is one less reference to the *A::b glob. However, for effeciency the GVSV op (as executed in $A::bbb) doesn't lookup the stash at runtime, but instead at compile time it caches a direct pointer to the glob. These references to the glob ensure that it doesn't go away. An eval shows the difference:
$A::bbb = 3; delete $A::{bbb}; printf "direct=%d eval=%d\n", $A::bbb, eval q{$A::bbb}; outputs: direct=3 eval=0

Dave.