Re: [Module-build-general] use only The::Finest => 1.23;
Status: Beta
Brought to you by:
kwilliams
|
From: Brian I. <in...@tt...> - 2003-02-19 19:44:54
|
On 19/02/03 11:00 -0600, Ken Williams wrote:
>
> On Wednesday, February 19, 2003, at 12:46 AM, Brian Ingerson wrote:
> > I've just released a module called 'only.pm' that allows people to
> > install multiple versions of various modules. It also lets them 'use'
> > specific versions.
>
> I saw that flash by on the CPAN-recent list. Looks good to me. Glad
> it cooperates with M::B, and a patch for more explicit support would be
> welcome. I'm not in an environment where I'd use it much, but I know
> those environments do exist when tight controls are necessary.
>
> The only reservation I have is that it introduces a new syntax for
> version number specs, and M::B already has something similar but
> different. It's not really essential to use the same syntax, but maybe
> some cooperation would be good. Hopefully someone will have some good
> ideas about it in response to my "mini-language" post from yesterday.
>
> > # Only use MyModule if version is between 0.30 and 0.50
> > # but not 0.36; or if version is >= to 0.55.
> > use only MyModule => '0.30-0.50 !0.36 0.55-', qw(:all);
>
> I'm not sure I understand when the parts are and-ed together and when
> they're or-ed together. The above seems to mean
>
> (0.30-0.50 and !0.36) or 0.55-
>
> or maybe actually
>
> (0.30-0.50 or 0.55-) and !0.36
Aren't those the same? For what version would they have a different
effect?
Basically every condition is ORed together, but complements are ANDed.
Complements also short circuit. From the doc:
If a module version matches a complement, that version is
immediately rejected without further inspection.
I guess I need a more formal phrasing. Ideas?
I'll take a look at M::B's syntax.
Cheers, Brian
|