Installing your prebuilt Perl

There are several steps you need to take to get Perl installed and
running. At some point we'll have a working install in DESCRIP.MMS, but for
right now the procedure's manual, and goes like this.

1) Create a directory somewhere and define the concealed logical PERL_ROOT
to point to it. For example, DEFINE/TRANS=(CONC,TERM) PERL_ROOT dka200:[perl.]

2) Unzip (or copy the currently unzipped) the entire distribution into
PERL_ROOT:[000000]. (Make sure everything goes into the proper
subdirectories if you're copying)

3) Either copy PERLSHR.EXE to SYS$SHARE, or to somewhere globally accessble
and define the logical PERLSHR to point to it (DEFINE PERLSHR
PERL_ROOT:[000000]PERLSHR.EXE or something like that). The PerlShr image
should have W:RE protections on it. (Just W:E triggers increased security in
the image activator. Not a huge problem, but Perl will need to have any
other shared image it accesses INSTALLed. It's a huge pain, so don't unless
you know what you're doing)

Defining PERLSHR is a better option, as it lets you have multiple versions
of perl installed at once. (Just change PERLSHR to point to the appropriate
version)

4) Either define the symbol PERL somewhere, such as
SYS$MANAGER:SYLOGIN.COM, to be "PERL :== $PERL_ROOT:[000000]PERL.EXE", or
install Perl into DCLTABLES.EXE )Check out the section "Installing Perl
into DCLTABLES" for more info), or put the image in a directory that's in
your DCL$PATH (if you're using VMS 6.2 or higher).

5) Optionally define the command PERLDOC as 
PERLDOC :== $PERL_ROOT:[000000]PERL PERL_ROOT:[UTIL]PERLDOC.COM -T

6) Optionally define the command PERLBUG (the Perl bug report generator) as
PERLBUG :== $PERL_ROOT:[000000]PERL PERL_ROOT:[UTIL]PERLBUG.COM"

7) Optionally define the command POD2MAN (Converts POD files to nroff
source suitable for converting to man pages. Also quiets complaints during
module builds) as

DEFINE/NOLOG POD2MAN PERL_ROOT:[UTIL]POD2MAN.COM
POD2MAN :== $PERL_ROOT:[000000]PERL POD2MAN

8) If you don't have a paging program installed, perl will do a simple
TYPE/PAGE when reading docs through PERLDOC. The PERLDOC_PAGER logical will
override this--if you don't have more, most, less, or look, you might want
to:

DEFINE PERLDOC_PAGER "TYPE/PAGE=SAVE=5"

to save the last five pages.

If you want to access the file via the system editor, a possible definition
would be:

DEFINE PERLDOC_PAGER "EDIT /READ_ONLY NOJOURNAL"

(Courtesy of Sheldon Smith)

* Installing Perl into DCLTABLES

Courtesy of Brad Hughes:

Put the following, modified to reflect where your .exe is, in PERL.CLD:

define verb perl
image perl_root:[exe]perl.exe
cliflags (foreign)

and then

$ set command perl /table=sys$common:[syslib]dcltables.exe -
 /output=sys$common:[syslib]dcltables.exe
$ install replace sys$common:[syslib]dcltables.exe

and you don't need perl :== $perl_root:[exe]perl.exe.

