After about nine years being subscribed to vmsperl and doing what little I
can to keep the VMS port of Perl afloat, I had an experience tonight
I've never had before.  On an installed version of Perl 5.10.0 RC2 on
OpenVMS Alpha v8.3 with an ODS-5 build disk, I typed:

$ cpanp -i "DBI"

and after a bit of churning, a couple of warnings, and lots of test
output, I got:

Module 'DBI' installed successfully
No errors installing all modules

DBI, the Perl Database Interface extension, has historically been
rather resistant to building and installing on VMS, yet just now I
downloaded it, built it, passed its extensive test suite, and
installed it with a single command.  More than once in the past I've
had to patch a new version just to get it to build.  The current
version is 1.601 and I haven't built it since about 1.48, so we owe
some thanks to DBI author Tim Bunce and ExtUtils::MakeMaker
maintainer Michael Schwern for steadily improving the build
infrastructure.

But I really want to single out Jos Bousmans, the CPANPLUS author,
and John Malmberg, who did 99% of the porting to VMS, for all the
work that made tonight's experiment possible.  The original CPAN.pm
never really worked on VMS, but obviously CPANPLUS does, and as of
the almost-out 5.10 it is part of the Perl core.  This means that
something that has been taken for granted on other platforms for
years is now finally here on VMS; we're in the best shape we've ever
been to get real work done with Perl on VMS.  There were some
difficult moments, and I suspect John and Jos lost some hair and/or
fingernails in the process, but the result is pretty impressive.  To
be honest, I expected a lot more work to be able to use CPANPLUS in
the wild even though all its tests were passing, but obviously I
underestimated the thoroughness of Jos's test suite.

Schwern gave me a nudge a couple of years ago to look into CPANPLUS,
something I never found time to do.  Now I don't have to look into
it, I can just use it, and so can you.  I don't regard our work as
finished, and DBI as a test case is good as far as it goes, but it is
pretty self-contained, i.e., not much in the way of external
dependencies.  Most modern Perl modules have a rather long chain of
dependencies, so we'll see what happens when we try some of those.  I
think my next experiment is going to be:

$ cpanp -i "Catalyst"

In case you haven't heard, Catalyst is the web framework all the cool
kids are using these days, and it is a poster child for a module
where nearly every piece is a plug-in or dependent module of some
sort.  I have no idea whether any of the pieces much less the whole
will work on VMS, but just now I'm feeling optimistic.


--
________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]

"... getting out of a sonnet is much more
 difficult than getting in."
                 Brad Leithauser

Reply via email to