requiring different vers per auth

2010-09-10 Thread Darren Duncan

With regard to http://perlcabal.org/syn/S11.html#Versioning ...

If some Perl code requires a module (or Perl version) that has multiple 
authorities and each authority uses a different version-numbering scheme, and 
the code is compatible with different version ranges from each authority, then 
how does the code express this?


For example, say that either of the following would be acceptable:

  use Foo:authPERIL:ver(1..3,5..*)

  use Foo:authPURILE:ver(2..9)

From S11 I see that one can indicate too many versions like:

  use Foo:auth(PERIL|PURILE):ver(1..*)

... or too few versions like:

  use Foo:auth(PERIL|PURILE):ver(2..3,5..9)

... assuming that these use would specify the cartesian product of auth and 
ver.


But how does one best express what I actually said would be acceptable, the full 
ver range per auth and only that?


Can you say something like this?:

  use Foo:(authPERIL:ver(1..3,5..*)|authPURILE:ver(2..9))

... but maybe with different syntax?

-- Darren Duncan


Re: requiring different vers per auth

2010-09-10 Thread Larry Wall
On Fri, Sep 10, 2010 at 06:00:30PM -0700, Darren Duncan wrote:
: With regard to http://perlcabal.org/syn/S11.html#Versioning ...
: 
: If some Perl code requires a module (or Perl version) that has
: multiple authorities and each authority uses a different
: version-numbering scheme, and the code is compatible with different
: version ranges from each authority, then how does the code express
: this?

Search for emulates in S11.

Larry


Re: requiring different vers per auth

2010-09-10 Thread Darren Duncan

Larry Wall wrote:

On Fri, Sep 10, 2010 at 06:00:30PM -0700, Darren Duncan wrote:
: With regard to http://perlcabal.org/syn/S11.html#Versioning ...
: 
: If some Perl code requires a module (or Perl version) that has

: multiple authorities and each authority uses a different
: version-numbering scheme, and the code is compatible with different
: version ranges from each authority, then how does the code express
: this?

Search for emulates in S11.


I already know about emulates and it didn't seem applicable because emulates 
is something you would put in a package declaration so a package declares it 
emulates another one.


But what I'm asking is what a user does when none of the versions of the package 
they want to use declare emulates.


-- Darren Duncan