 |
Index for Section 1 |
|
 |
Alphabetical listing for P |
|
 |
Bottom of page |
|
PERLVOS(1)
NAME
README.vos - Perl for Stratus VOS
SYNOPSIS
This is a port of Perl version 5 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.
Stratus POSIX Support
Note that there are two different implementations of POSIX.1 support on
VOS. There is an alpha version of POSIX that is available from the Stratus
anonymous ftp site (ftp://ftp.stratus.com/pub/vos/posix/alpha/alpha.html).
There is a generally-available version of POSIX that comes with the VOS
Standard C compiler and C runtime in VOS Release 14.3.0 or higher. This
port of POSIX will compile and bind with either version of POSIX.
Most of the Perl features should work on VOS regardless of which version of
POSIX that you are using. However, the alpha version of POSIX is missing a
number of key functions, and therefore 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", "fork",
and "waitpid". The lack of these functions pretty much prevents you from
starting VOS commands and grabbing their output in perl. The workaround is
to run the commands outside of perl, then have perl process the output
file. These functions are all available in the generally-available version
of POSIX.
INSTALLING PERL IN VOS
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 Either the VOS OS TCP/IP or STCP product set. If you are building
with the alpha version of POSIX you need the OS TCP/IP product set.
If you are building with the generally-available version of POSIX you
need the STCP product set. These are standard Stratus products.
3 Either the alpha or generally-available version of the VOS POSIX.1
environment.
The alpha version of POSIX.1 support is available on the Stratus FTP
site. Login anonymously to ftp.stratus.com and get the file
/pub/vos/posix/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. Instructions for unbundling this file are at
ftp://ftp.stratus.com/pub/vos/utility/utility.html. This is not a
standard Stratus product.
The generally-available version of POSIX.1 support is bundled with the
VOS Standard C compiler and Runtime (or Cross-Compiler) in VOS Release
14.3.0 or higher. This is a standard Stratus product.
4 You must compile this version of Perl 5 on VOS Release 14.1.0 or
higher because some of the perl source files contain more than 32,767
source lines. Due to VOS release-compatibility rules, this port of
perl may not execute on VOS Release 12 or earlier.
To build perl 5, change to the "vos" subdirectory and type the command
"compile_perl -processor X", where X is the processor type (mc68020,
i80860, pa7100, pa8000) that you wish to use. Note that the generally-
available version of POSIX.1 support is not available for the mc68020 or
i80860 processors.
You must have purchased the VOS Standard C Cross Compiler in order to
compile perl for a processor type that is different from the processor type
of the module.
Note that code compiled for the pa7100 processor type can execute on the
PA7100, PA8000, PA8500 and PA8600 processors, and that code compiled for
the pa8000 processor type can execute on the PA8000, PA8500 and PA8600
processors.
Installing Perl 5 on VOS
1 Create the directory >system>ported>command_library.
2 Copy the appropriate version of the perl program module to this
directory. For example, with your current directory set to the top-
level directory of Perl 5, to install the executable program module for
the Motorola 68K architecture, enter:
!copy_file vos>obj>perl.pm >system>ported>command_library>*
(If you wish to use both Perl version 4 and Perl version 5, you must
give them different names; for example, perl.pm and perl5.pm).
3 Create the directory >system>ported>perl>lib.
4 Copy all of the files and subdirectories from the lib subdirectory into
this new directory. For example, with the current directory set to the
top-level directory of the perl distribution, enter:
!copy_dir lib >system>ported>perl>lib>5.6
5 While there are currently no architecture-specific extensions or
modules distributed with perl, the following directories can be used to
hold such files:
>system>ported>perl>lib>5.6.68k
>system>ported>perl>lib>5.6.860
>system>ported>perl>lib>5.6.7100
>system>ported>perl>lib>5.6.8000
6 Site-specific perl extensions and modules can be installed in one of
two places. Put architecture-independent files into:
>system>ported>perl>lib>site>5.6
Put architecture-dependent files into one of the following directories:
>system>ported>perl>lib>site>5.6.68k
>system>ported>perl>lib>site>5.6.860
>system>ported>perl>lib>site>5.6.7100
>system>ported>perl>lib>site>5.6.8000
7 You can examine the @INC variable from within a perl program to see the
order in which Perl searches these directories.
USING PERL IN VOS
Unimplemented Features
If perl is built with the alpha version of VOS POSIX.1 support and if it
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 functions are unimplemented and what the error
message looks like, compile and execute "test_vos_dummies.c".
Restrictions
This port of Perl version 5 to VOS prefers Unix-style, slash-separated
pathnames over VOS-style greater-than-separated pathnames. VOS-style
pathnames should work in most contexts, but if you have trouble, replace
all greater-than characters by slash characters. Because the slash
character is used as a pathname delimiter, Perl cannot process VOS
pathnames containing a slash character in a directory or file name; these
must be renamed.
This port of Perl also uses Unix-epoch date values internally. As long as
you are dealing with ASCII character string representations of dates, this
should not be an issue. The supported epoch is January 1, 1980 to January
17, 2038.
See the file pod/perlport.pod for more information about the VOS port of
Perl.
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. There are some excellent books
available on the Perl language; consult a book seller.
AUTHOR
Paul Green (Paul_Green@stratus.com)
LAST UPDATE
February 13, 2001
 |
Index for Section 1 |
|
 |
Alphabetical listing for P |
|
 |
Top of page |
|