sub ERASE_PACKAGE { my $packname = shift; $packname .= '::' unless $packname =~ /::$/; no strict "refs"; my $package = *{$packname}{HASH}; return unless defined $package; undef *{$packname . $_} foreach (keys %$package); } sub ERASE_PACKAGE_RECURSIVE { # Call with "Package::Name" my $packname = shift; $packname .= '::' unless $packname =~ /::$/; no strict "refs"; my $package = *{$packname}{HASH}; return unless defined $package; $_=~/::$/ ? ERASE_PACKAGE($packname . $_) : undef *{$packname . $_} foreach (keys %$package); }