Eric Wilhelm wrote:
> Is the Scalar::Util dependency justified?  'yes' is a fine answer, I'm 
> just not certain what it's compatibility is.

The patch is *removing* the dependency on Scalar::Util and *adding* dependencies
on locale and POSIX.

> Taking advantage of $_[1] being an alias to $VERSION in import() seems a 
> little sneaky, and possibly fragile.  

Any terms passed on the 'use' line (apart from a number which is used in
UNIVERSAL::VERSION) are passed as @_ to the module's import() sub.  Since @_ is
actually aliased to the real scalars, I can use that to shove the value into the
correct scalar.  One thing I neglected to point out is that this would work as 
well:

        use version $VERSION => qv($Revision: 1.2$);

to use CVS-style version initialization.

> Does the '$VERSION => 1.2.0' syntax work with PAUSE/etc?

Not yet; I won't introduce that until the entire toolchain is ready for it,
which is why I'm asking about M::B.

> What about
> 
>   use version $VERSION = 1.2.0;
> 
> $_[0] = version->new($_[0]); ?

That wouldn't work with the CVS-style initializer as I described above.  I don't
know how many people are still using that mode, but I need to get the parameters
as a list, not an inline assignment, in order for both methods to work.

John

-- 
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Blvd
Suite H
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5747

Reply via email to