diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 2000-07-11 20:37:23 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 2000-07-11 20:37:23 +0000 |
commit | c2e66d9e68806a7000ee1a4760c35703a0e0ae89 (patch) | |
tree | 32508ca896b6e213afc07430f7aa223c0e9dde28 /lib/Symbol.pm | |
parent | 4755096ec61711c5104ba0b6b9314f32ca0351fe (diff) | |
download | perl-c2e66d9e68806a7000ee1a4760c35703a0e0ae89.tar.gz |
integrate cfgperl changes#6325..6373 into mainline
(NOTE: today's batch of integrations still untested)
p4raw-link: @6373 (not found)
p4raw-link: @6325 on //depot/cfgperl: d6ac44cc5a00fa38a56717785146bc16b716472c
p4raw-id: //depot/perl@6373
Diffstat (limited to 'lib/Symbol.pm')
-rw-r--r-- | lib/Symbol.pm | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/Symbol.pm b/lib/Symbol.pm index a842c1cd7b..a95383a5d6 100644 --- a/lib/Symbol.pm +++ b/lib/Symbol.pm @@ -129,8 +129,15 @@ sub delete_package ($) { my $stem_symtab = *{$stem}{HASH}; return unless defined $stem_symtab and exists $stem_symtab->{$leaf}; - my $leaf_glob = $stem_symtab->{$leaf}; - my $leaf_symtab = *{$leaf_glob}{HASH}; + + # free all the symbols in the package + + my $leaf_symtab = *{$stem_symtab->{$leaf}}{HASH}; + foreach my $name (keys %$leaf_symtab) { + undef *{$pkg . $name}; + } + + # delete the symbol table %$leaf_symtab = (); delete $stem_symtab->{$leaf}; |