X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSymbol.pm;h=3bb5d9240c15c4319ab7dfdce7ef3b7526fe05ed;hb=ac0e6a2fd2970df72270aecb94d407fe170b43a7;hp=98fb6763fe6d0412a634d8b9ab14136f85a96367;hpb=4379a6f8153cde10f045a82b5434d852f701ae7a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/Symbol.pm b/lib/Symbol.pm index 98fb676..3bb5d92 100644 --- a/lib/Symbol.pm +++ b/lib/Symbol.pm @@ -34,7 +34,6 @@ Symbol - manipulate Perl symbols and their names delete_package('Foo::Bar'); print "deleted\n" unless exists $Foo::{'Bar::'}; - =head1 DESCRIPTION C creates an anonymous glob and returns a reference @@ -68,6 +67,15 @@ C wipes out a whole package namespace. Note this routine is not exported by default--you may want to import it explicitly. +=head1 BUGS + +C is a bit too powerful. It undefines every symbol that +lives in the specified package. Since perl, for performance reasons, does not +perform a symbol table lookup each time a function is called or a global +variable is accessed, some code that has already been loaded and that makes use +of symbols in package C may stop working after you delete C, even if +you reload the C module afterwards. + =cut BEGIN { require 5.005; } @@ -77,7 +85,7 @@ require Exporter; @EXPORT = qw(gensym ungensym qualify qualify_to_ref); @EXPORT_OK = qw(delete_package geniosym); -$VERSION = 1.04; +$VERSION = '1.06'; my $genpkg = "Symbol::"; my $genseq = 0;