I am not usually quick to install new versions of Perl due to the effort 
involved in reinstalling all of the extensions I use so please let me add my 
vote of thanks to the maintainers of Perl on VMS for how much easier it becomes 
with each new release.  I have recently installed Perl v5.12.1 on my cluster, 
which is a mixed-architecture cluster containing an Alpha and Integrity system. 
 Save for a slight glitch I had with a logical name that conflicted with the 
build, the process went very smoothly.  At the end of this message is a list of 
the extensions I have installed so far.  These are the issues I encountered 
with this installation:

1. The file SV.C has an uncorrected questionable compare left in its UTF8 code. 
 This can be changed to a simple compare to zero.
2. The file git_version.h is not copied to the installation directory.  It is 
referenced by some extensions, HTML::Parser being an example.
3. Extensions that use inc::Module::Install fail to build an MMS file.  I have 
to rewrite them to use ExtUtils::MakeMaker.
4. Too many extensions like to use labels that differ only in case or reference 
external libraries that are built with /names=(as_is,short).  By editing 3 
include files in Perl, extern.h, perl.h, and xsub.h in 
PERL_ROOT:[.LIB.VMS_arch.5_12_1.CORE], to set the NAMES pragma to uppercase at 
the beginning of the file and restore it at the end, I am able to modify the 
generated DESCRIP.MMS file of the extension being built to include the 
names=(as_is,short) switch and build the extension without difficulty.  I 
believe this would be worth doing as part of the standard installation.  It 
would also be nice if there were an option to add this switch into the 
generated DESCRIP.MMS automatically.
5. The extension build process still believes any file that does not conform to 
ODS-2 syntax has been renamed using underscores.  Since my home directory is on 
an ODS-5 disk, and cpanplus places its work files in the home directory, I 
frequently get reports of missing files while processing makefile.pl.  The 
error appears to be cosmetic, however, and the build still completes 
successfully.

In all cases, cpanplus was used to start the build of the extension.  In many 
cases, that was all it took.  When the build aborted, usually due to reason 3, 
I stepped into the directory, corrected the problem (editing makefile.pl, 
editing the resulting descrip.mms when necessary, adding in any necessary 
external libraries), then manually completed the install of the extension in 
question, then reissued the cpanp command if the extension that aborted was a 
prerequisite.  This allowed all the extensions I use to be installed very 
quickly and I did not have to do any manual fetching (except for VMS::Logical) 
and walking of the prerequisite tree on my own.  Again, thanks very much for 
making this process much easier than it used to be.

For reference, here is the list of extensions I have added to my system.

Authen::SASL
Class::Inspector
Convert::ASN1
Crypt::Blowfish
Crypt::CBC
Crypt::DES
Crypt::IDEA
Crypt::SSLeay
DBD::SQLite
DBD::mysql
DBI
Digest::HMAC
Digest::SHA1
Email::Date::Format
FCGI
HTML::Parser
HTML::Tagset
HTML::Tidy
IO::Socket::SSL
IO::Stringy
Image::Magick
LWP
MAIL
MIME::Lite
MIME::Tools
MIME::Types
Net::IDN::Encode
Net::IDN::Nameprep
Net::IP
Net::LDAP
Net::SNMP
Net::SSLeay
PDF::API2
SOAP::Lite
SOAP::Transport::FTP
TIMEDATE
Task::Weaken
Test::NoWarnings
Test::Pod
Text::Iconv
URI
Unicode::Stringprep
VMS::Logical
XML::Filter::BufferText
XML::NamespaceSupport
XML::Parser
XML::SAX
XML::SAX::Writer

Mark Berryman

Reply via email to