On Mon, 12 Feb 2001, J.Lance Wilkinson, 814-865-1818 wrote:

>         I guess this goes back to one of the original questions that the
>         [EMAIL PROTECTED] community asked me when I first reported my
>         difficulties getting EmuMail up on OpenVMS -- that there seemed to
>         be a large number of STANDARD modules being recompiled.
> 
>         EmuMail's technical team responded, saying that they incorporated
>         these standard modules to insure consistancey.
> 
>         Now me, I just plain am new to perl, almost as new to it as I am
>         to Unix (oh, I've known something about both for years, just held
>         off becoming involved in them as long as I could ;-).  So I don't
>         know which of the EmuMail modules involved it its build are standard
>         and which aren't.  
> 
>         I'd almost prefer to isolate the NONSTANDARD modules, and just do 
>         them up -- pulling the standard modules from the OpenVMS perl
>         implementation that can be used, and only including EmuMail modules
>         that aren't provided there.  Can you identify those modules from
>         the \emumail-modules-4-5.9\modules-sorted.txt file below?

In order to identify "standard" modules Perl builds itself with an
"extensions" config varaible (and at least three other config variables)
that is (are) helpful to know about.  For example, in a 5.005_03
installation on VMS I can run the following command:

 $ perl "-V:extensions"
 extensions='Fcntl Errno IO Opcode Dumper attrs re Stdio DCLsym B SDBM_File POSIX';

Owing to the bugs in the configure.com procedure it did not keep pace with
the bourne shell Configure script as used on unix, but later development
versions of perl do have the other config variables set - even on VMS
(here shown with the 5.7.1 candidate known as perl@8773):

 $ perl -v

 This is perl, v5.7.0 built for VMS_AXP

[snip]

known_extensions is supposed to be a list of pretty much all the stuff in
the [.ext...] tree that has a *.pm file in it, note that the list is
longer than the extensions list since not all of the extensions shipped
with perl will get built on any given platform (plus on VMS we add in the
[.vms.ext] modules):

 $ perl "-V:known_extensions"
known_extensions='re Fcntl Encode Errno File/Glob Filter/Util/Call IO
Opcode Devel/Peek Devel/DProf Data/Dumper attrs VMS/Stdio VMS/DCLsym B
 SDBM_File Storable Thread Sys/Hostname POSIX';

Where that list is missing Byteloader >> BUG in configure.com.

Here is the extensions setting for that 5.7.0 devel version:

$ perl "-V:extensions"
extensions='re Fcntl Encode Errno File/Glob Filter/Util/Call IO Opcode
Devel/Peek Devel/DProf Data/Dumper attrs VMS/Stdio VMS/DCLsym B SDBM_
File Storable Thread Sys/Hostname POSIX';

Here is the list of statically linked extensions:

$ perl "-V:static_ext"
static_ext='Socket';

which for some mysterious reason does not inlcude DynaLoader (it does not
on Unix either so VMS' configure.com is bug for bug compatible with the
Configure shell script).

Here is a list of the dynamically loadable extensions:

$ perl "-V:dynamic_ext"
dynamic_ext='re Fcntl Encode Errno File/Glob Filter/Util/Call IO Opcode
Devel/Peek Devel/DProf Data/Dumper attrs VMS/Stdio VMS/DCLsym B SDBM
_File Storable Thread Sys/Hostname POSIX';

Since perls "-V" takes regular expressions you can specify most of the
extension variables with the following:

 $ perl "-V:.*ext.*"

(I won't bore you with the from my machine output - run it for yourself).

If instead of information about what modules perl shippe and built with
you would like information about what modules were installed after
installation then a convenient authoritative source is avaialable from:

    perldoc perllocal

There are also some ExtUtils::Packlist (sp) modules but the perllocal.pod
document is quite handy (and I know that it works on VMS).


Peter Prymmer


Reply via email to