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 |