I was thinking that some modules will need to make sure not to pick 2.0 modules, when they work in 1.0 mode (e.g. Apache::Test), because if Apache2 is inadvertenly loaded the wrong module versions will be picked. e.g. Apache::Test may pick up httpd-2 as the default if it succeeds to require Apache::Build. The following patch allows you to do the following:

# make sure to have no mod_perl 2 in @INC
Apache2->unimport if exists $INC{'Apache2.pm'} and $mod_perl::VERSION < 1.99;

of course the compile time invocation:

no Apache2;

works too, but mp1 doesn't have this module. so to emulate compile time cleanness a module could do instead:

BEGIN { eval {require Apache2} && Apache2->unimport }

Index: lib/Apache2.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/lib/Apache2.pm,v
retrieving revision 1.1
diff -u -r1.1 Apache2.pm
--- lib/Apache2.pm      6 Apr 2002 01:42:52 -0000       1.1
+++ lib/Apache2.pm      26 Mar 2003 05:09:22 -0000
@@ -14,5 +14,10 @@
     }
 }

+# exists $INC{'Apache2.pm'} && Apache2->unimport;
+sub unimport {
+    @INC = grep !/Apache2$/, @INC;
+}
+
 1;

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to