"Perrin Harkins" <[EMAIL PROTECTED]> writes:
[...] > Are you saying that using names like "Apache5::" would be a problem > because of calls to class methods? Yup, I'm saying version numbers don't belong in the actual source code (package names, @ISA, whatever), for basically all the same reasons SQL statements don't belong there. It creates more portability & maintenance problems than it solves. > In most cases, the OO interface hides that from users after they use a > specific module, but it certainly could get ugly if modules need to > call Apache2::Foo->bar() or Apache2_2::Foo->bar(). Right, as would lots of other things like Foo->isa($_[1]) or die '$obj->method(@_), first arg is not a Foo"; that are commonplace within autogenerated code like XS. APR::* is a fine example: we already have 2 incompatible libapr's in circulation (0.9.x, 1.x), and very soon there may be a third version (2.x) because some of apr's 64bit interfaces aren't quite right. But APR:: will probably be source compatible with all three libraries (it already is compatible with the existing libapr's). Just as I don't want to see several BerkeleyDB modules on CPAN, I also don't want to see several APR::Table modules there either. -- Joe Schaefer -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html