stas 2004/09/09 15:41:16
Modified: src/docs/2.0/api/ModPerl Util.pod
Log:
extend on what unload_module does
Revision Changes Path
1.13 +15 -7 modperl-docs/src/docs/2.0/api/ModPerl/Util.pod
Index: Util.pod
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/2.0/api/ModPerl/Util.pod,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -u -r1.12 -r1.13
--- Util.pod 9 Sep 2004 22:29:05 -0000 1.12
+++ Util.pod 9 Sep 2004 22:41:16 -0000 1.13
@@ -163,16 +163,16 @@
=head2 C<unload_module>
-Unloads a module from the current perl interpreter in the safest way
+Unloads a stash from the current Perl interpreter in the safest way
possible.
- ModPerl::Util::unload_module($module);
+ ModPerl::Util::unload_module($stash);
=over 4
-=item arg1: C<$module> (scalar)
+=item arg1: C<$stash> ( string )
-The package (stash) name to unload.
+The Perl stash to unload. e.g. C<MyApache::MyData>.
=item ret: no return value
@@ -180,14 +180,22 @@
=back
-Unloading a module from Perl is a complicated business. This function
-tries very hard to do the right thing. After calling this module, it
-should be safe to C<use> a new version of the module.
+Unloading a Perl stash is a complicated business. This function tries
+very hard to do the right thing. After calling this module, it should
+be safe to C<use> a new version of the module.
References to module elements (function, variables, etc) that were
taken from outside the unloaded module will still be valid.
+This function may wipe off things loaded by other modules, if the
+latter have inserted things into the C<$stash> it was told to unload.
+C<unload_module()> takes care not to delete sub-stashes when deleting
+the requested stash. So for example if C<CGI> and C<CGI::Carp> are
+loaded, calling C<unload_module('CGI')> won't affect C<CGI::Carp>.
+
+If the module's stash had a corresponding XS shared object loaded it
+will be unloaded as well.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]