Perl 5 README file for the Stratus VOS operating system.
Paul Green (Paul_Green@stratus.com)
August 12, 1998

Introduction
------------
This is a port of Perl version 5, revision 005-02, to VOS.  Perl
is a scripting or macro language that is popular on many
systems.  See your local computer bookstore for a number of good
books on Perl.

Most of the Perl features should work on VOS.  However, any
attempt by perl.pm to call the following unimplemented POSIX
functions will result in an error message and an immediate and
fatal call to the VOS debugger.  They are "dup", "execlp",
"execl", "execvp", "fork", and "waitpid".

Compiling Perl 5 on VOS
-----------------------
Before you can build Perl 5 on VOS, you need to have or acquire the
following additional items.

1.   The VOS Standard C Compiler and Runtime, or the VOS Standard C
     Cross-Compiler.  This is a standard Stratus product.

2.   The VOS OS TCP/IP product set.  While the necessary header files
     are included in this distribution, you still need the appropriate
     object files in order to bind perl.pm.  This is a standard
     Stratus product.

3.   The VOS POSIX.1 environment.  As of this writing, this is
     available on the VOS FTP site.  Login to ftp.stratus.com
     anonymously and get the file /pub/vos/alpha/posix.save.evf.gz in
     binary file-transfer mode.  Or use the Uniform Resource Locator
     (URL) ftp://ftp.stratus.com/pub/vos/alpha/posix.save.evf.gz from
     your web browser.  This is not a standard Stratus product.

To build build 5, change to one of the VOS object directories
(e.g., perl5.005_02>vos>obj), and give the command "<build".  If
you have the cross-compilers and wish to build for a specific
architecture, say "<build -processor pa7100" (for example).  You
can also customize the "compile_perl.cm" command macro for your
system.

Changes to Perl for VOS
-----------------------
1.   The header perl.h was changed to include vosish.h instead
     of unixish.h.  This change is necessary because VOS POSIX.1
     does not (yet) implement the getgrname() or getgrgid()
     functions.

Unimplemented Features
----------------------
If Perl 5 attempts to call an unimplemented VOS POSIX.1
function, it will print a fatal error message and enter the VOS
debugger.  This error is not recoverable.  See vos_dummies.c for
a list of the unimplemented POSIX.1 functions.  To see what the
error message looks like, compile and execute
"test_vos_dummies.c".

Restrictions
------------
This port of Perl version 5 to VOS uses Unix-style,
slash-separated pathnames, not VOS-style greater-than-separated
pathnames.  If you wish to have it use VOS-style pathnames, try
setting the external variable s$c_options to 4 with the
following command line.  Note that this way of configuring Perl
5 has not been tested; I don't know if Perl can handle the
presence of the greater-thans, and the absence of the slashes.

     set_external_variable s$c_options -in perl.pm -type integer -to 4

The following command can be used to check the value:

     get_external_variable s$c_options -in perl.pm -type integer

See the documentation for VOS POSIX.1 for the full set of option
values.

Support Status
--------------
I'm offering this port "as is".  You can ask me questions, but I
can't guarantee I'll be able to answer them; I don't know much
about Perl itself; I'm still learning that.

(end)

