stas 2003/06/09 18:11:25
Modified: src/docs/2.0/user/porting compat.pod
Log:
new section: mod_perl 1.0 and 2.0 Constants Coexistence
Revision Changes Path
1.11 +28 -1 modperl-docs/src/docs/2.0/user/porting/compat.pod
Index: compat.pod
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/2.0/user/porting/compat.pod,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- compat.pod 6 Jun 2003 05:52:19 -0000 1.10
+++ compat.pod 10 Jun 2003 01:11:25 -0000 1.11
@@ -253,11 +253,38 @@
=back
See the manpages of the respective modules to figure out which
-constants they provide. (XXX: not all manpages exist yet.)
+constants they provide.
META: add the info how to perform the transition. XXX: may be write a
script, which can tell you how to port the constants to 2.0? Currently
C<Apache::compat> doesn't provide a complete back compatibility layer.
+
+=head2 mod_perl 1.0 and 2.0 Constants Coexistence
+
+If the same codebase is used for both mod_perl generations, the
+following technique can be used for using constants:
+
+ package MyApache::Foo;
+ use mod_perl;
+ use constant MP2 => $mod_perl::VERSION >= 1.99;
+ BEGIN {
+ if (MP2) {
+ require Apache::Const;
+ Apache::Const->import(-compile => qw(OK DECLINED));
+ }
+ else {
+ require Apache::Constants;
+ Apache::Constants->import(qw(OK DECLINED));
+ }
+ }
+
+ sub handler {
+ # ...
+ return MP2 ? Apache::OK : Apache::Constants::OK;
+ }
+ 1;
+
+
=head2 Deprecated Constants
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]