1 If you read this file _as_is_, just ignore the funny characters you
2 see. It is written in the POD format (see pod/perlpod.pod) which is
3 specially designed to be readable as is.
7 README.vos - Perl for Stratus VOS
11 This is a port of Perl version 5 to VOS. Perl is a scripting or
12 macro language that is popular on many systems. See your local
13 computer bookstore for a number of good books on Perl.
15 =head2 Stratus POSIX Support
17 Note that there are two different implementations of POSIX.1
18 support on VOS. There is an alpha version of POSIX that is
19 available from the Stratus anonymous ftp site
20 (ftp://ftp.stratus.com/pub/vos/posix/alpha/alpha.html). There
21 is a generally-available version of POSIX that comes with the
22 VOS Standard C compiler and C runtime in VOS Release 14.3.0 or
23 higher. This port of POSIX will compile and bind with either
26 Most of the Perl features should work on VOS regardless of which
27 version of POSIX that you are using. However, the alpha version
28 of POSIX is missing a number of key functions, and therefore any
29 attempt by perl.pm to call the following unimplemented POSIX
30 functions will result in an error message and an immediate and
31 fatal call to the VOS debugger. They are "dup", "fork", and
32 "waitpid". The lack of these functions pretty much prevents you
33 from starting VOS commands and grabbing their output in perl.
34 The workaround is to run the commands outside of perl, then have
35 perl process the output file. These functions are all available
36 in the generally-available version of POSIX.
38 =head1 INSTALLING PERL IN VOS
40 =head2 Compiling Perl 5 on VOS
42 Before you can build Perl 5 on VOS, you need to have or acquire the
43 following additional items.
49 The VOS Standard C Compiler and Runtime, or the VOS Standard C
50 Cross-Compiler. This is a standard Stratus product.
54 Either the VOS OS TCP/IP or STCP product set. If you are
55 building with the alpha version of POSIX you need the OS
56 TCP/IP product set. If you are building with the
57 generally-available version of POSIX you need the STCP
58 product set. These are standard Stratus products.
62 Either the alpha or generally-available version of the VOS
65 The alpha version of POSIX.1 support is available on the
66 Stratus FTP site. Login anonymously to ftp.stratus.com and
67 get the file /pub/vos/posix/alpha/posix.save.evf.gz in
68 binary file-transfer mode. Or use the Uniform Resource
70 ftp://ftp.stratus.com/pub/vos/alpha/posix.save.evf.gz from
71 your web browser. Instructions for unbundling this file
72 are at ftp://ftp.stratus.com/pub/vos/utility/utility.html.
73 This is not a standard Stratus product.
75 The generally-available version of POSIX.1 support is
76 bundled with the VOS Standard C compiler and Runtime (or
77 Cross-Compiler) in VOS Release 14.3.0 or higher. This is a
78 standard Stratus product.
82 You must compile this version of Perl 5 on VOS Release
83 14.1.0 or higher because some of the perl source files
84 contain more than 32,767 source lines. Due to VOS
85 release-compatibility rules, this port of perl may not
86 execute on VOS Release 12 or earlier.
90 To build perl 5, change to the "vos" subdirectory and type the
91 command "compile_perl -processor X", where X is the processor
92 type (mc68020, i80860, pa7100, pa8000) that you wish to use.
93 Note that the generally-available version of POSIX.1 support is
94 not available for the mc68020 or i80860 processors.
96 You must have purchased the VOS Standard C Cross Compiler in
97 order to compile perl for a processor type that is different
98 from the processor type of the module.
100 Note that code compiled for the pa7100 processor type can
101 execute on the PA7100, PA8000, PA8500 and PA8600 processors, and
102 that code compiled for the pa8000 processor type can execute on
103 the PA8000, PA8500 and PA8600 processors.
105 =head2 Installing Perl 5 on VOS
111 Create the directory >system>ported>command_library.
115 Copy the appropriate version of the perl program module to
116 this directory. For example, with your current directory
117 set to the top-level directory of Perl 5, to install the
118 executable program module for the Motorola 68K
121 !copy_file vos>obj>perl.pm >system>ported>command_library>*
123 (If you wish to use both Perl version 4 and Perl version 5,
124 you must give them different names; for example, perl.pm
129 Create the directory >system>ported>perl>lib.
133 Copy all of the files and subdirectories from the lib
134 subdirectory into this new directory. For example, with
135 the current directory set to the top-level directory of the
136 perl distribution, enter:
138 !copy_dir lib >system>ported>perl>lib>5.6
142 While there are currently no architecture-specific
143 extensions or modules distributed with perl, the following
144 directories can be used to hold such files:
146 >system>ported>perl>lib>5.6.68k
147 >system>ported>perl>lib>5.6.860
148 >system>ported>perl>lib>5.6.7100
149 >system>ported>perl>lib>5.6.8000
153 Site-specific perl extensions and modules can be installed in one of
154 two places. Put architecture-independent files into:
156 >system>ported>perl>lib>site>5.6
158 Put architecture-dependent files into one of the following
161 >system>ported>perl>lib>site>5.6.68k
162 >system>ported>perl>lib>site>5.6.860
163 >system>ported>perl>lib>site>5.6.7100
164 >system>ported>perl>lib>site>5.6.8000
168 You can examine the @INC variable from within a perl program
169 to see the order in which Perl searches these directories.
173 =head1 USING PERL IN VOS
175 =head2 Unimplemented Features
177 If perl is built with the alpha version of VOS POSIX.1 support
178 and if it attempts to call an unimplemented VOS POSIX.1
179 function, it will print a fatal error message and enter the VOS
180 debugger. This error is not recoverable. See vos_dummies.c for
181 a list of the unimplemented POSIX.1 functions. To see what
182 functions are unimplemented and what the error message looks
183 like, compile and execute "test_vos_dummies.c".
187 This port of Perl version 5 to VOS prefers Unix-style,
188 slash-separated pathnames over VOS-style greater-than-separated
189 pathnames. VOS-style pathnames should work in most contexts, but
190 if you have trouble, replace all greater-than characters by slash
191 characters. Because the slash character is used as a pathname
192 delimiter, Perl cannot process VOS pathnames containing a slash
193 character in a directory or file name; these must be renamed.
195 This port of Perl also uses Unix-epoch date values internally.
196 As long as you are dealing with ASCII character string
197 representations of dates, this should not be an issue. The
198 supported epoch is January 1, 1980 to January 17, 2038.
200 See the file pod/perlport.pod for more information about the VOS
203 =head1 SUPPORT STATUS
205 I'm offering this port "as is". You can ask me questions, but I
206 can't guarantee I'll be able to answer them. There are some
207 excellent books available on the Perl language; consult a book
212 Paul Green (Paul_Green@stratus.com)