Commit | Line | Data |
---|---|---|
495c5fdc PG |
1 | Perl 5 README file for the Stratus VOS operating system. |
2 | Paul Green (Paul_Green@stratus.com) | |
24e8e380 GS |
3 | February 3, 2000 |
4 | ||
495c5fdc PG |
5 | |
6 | Introduction | |
7 | ------------ | |
24e8e380 | 8 | This is a port of Perl version 5, revision 005-63, to VOS. Perl |
495c5fdc PG |
9 | is a scripting or macro language that is popular on many |
10 | systems. See your local computer bookstore for a number of good | |
11 | books on Perl. | |
12 | ||
13 | Most of the Perl features should work on VOS. However, any | |
14 | attempt by perl.pm to call the following unimplemented POSIX | |
15 | functions will result in an error message and an immediate and | |
24e8e380 GS |
16 | fatal call to the VOS debugger. They are "dup", "fork", and |
17 | "waitpid". The lack of these functions pretty much prevents you | |
18 | from starting VOS commands and grabbing their output in perl. | |
19 | The workaround is to run the commands outside of perl, then have | |
20 | perl process the output file. | |
21 | ||
495c5fdc PG |
22 | |
23 | Compiling Perl 5 on VOS | |
24 | ----------------------- | |
25 | Before you can build Perl 5 on VOS, you need to have or acquire the | |
26 | following additional items. | |
27 | ||
28 | 1. The VOS Standard C Compiler and Runtime, or the VOS Standard C | |
29 | Cross-Compiler. This is a standard Stratus product. | |
30 | ||
24e8e380 GS |
31 | 2. The VOS OS TCP/IP product set. While the necessary header |
32 | files are included with VOS POSIX.1, you still need the | |
33 | appropriate object files in order to bind perl.pm. This is | |
34 | a standard Stratus product. | |
495c5fdc PG |
35 | |
36 | 3. The VOS POSIX.1 environment. As of this writing, this is | |
24e8e380 GS |
37 | available on the VOS FTP site. Login anonymously to |
38 | ftp.stratus.com and get the file | |
39 | /pub/vos/alpha/posix.save.evf.gz in binary file-transfer | |
40 | mode. Or use the Uniform Resource Locator (URL) | |
41 | ftp://ftp.stratus.com/pub/vos/alpha/posix.save.evf.gz from | |
495c5fdc PG |
42 | your web browser. This is not a standard Stratus product. |
43 | ||
24e8e380 GS |
44 | Instructions for unbundling this file are at |
45 | ftp://ftp.stratus.com/pub/vos/utility/utility.html. | |
46 | ||
47 | 4. You must compile this version of Perl 5 on VOS Release | |
48 | 14.1.0 or higher because some of the perl source files | |
49 | contain more than 32,767 source lines. Due to VOS | |
50 | release-compatibility rules, this port of perl may not | |
51 | execute on VOS Release 12 or earlier. | |
52 | ||
53 | To build perl 5, change to the "vos" subdirectory and type the | |
54 | command "compile_perl -processor X", where X is the processor | |
55 | type (mc68020, i80860, pa7100, pa8000) that you wish to use. | |
56 | Note that code compiled for the pa7100 processor type can | |
57 | execute on the PA7100, PA8000, and PA8500 processors, and that | |
58 | code compiled for the pa8000 processor type can execute on the | |
59 | PA8000 and PA8500 processors. | |
60 | ||
61 | ||
62 | Installing Perl 5 on VOS | |
63 | ------------------------ | |
64 | 1. Create the directory >system>ported>command_library. | |
65 | ||
66 | 2. Copy the appropriate version of the perl program module to | |
67 | this directory. For example, with your current directory | |
68 | set to the top-level directory of Perl 5, to install the | |
69 | executable program module for the Motorola 68K | |
70 | architecture, enter: | |
71 | ||
72 | !copy_file vos>obj>perl.pm >system>ported>command_library>* | |
73 | ||
74 | (If you wish to use both Perl version 4 and Perl version 5, | |
75 | you must give them different names; for example, perl.pm | |
76 | and perl5.pm). | |
77 | ||
78 | 3. Create the directory >system>ported>perl>lib. | |
79 | ||
80 | 4. Copy all of the files and subdirectories from the lib | |
81 | subdirectory into this new directory. For example, with | |
82 | the current directory set to the top-level directory of the | |
83 | perl distribution, enter: | |
84 | ||
85 | !copy_dir lib >system>ported>perl>lib>5.005 | |
86 | ||
87 | 5. While there are currently no architecture-specific | |
88 | extensions or modules distributed with perl, the following | |
89 | directories can be used to hold such files: | |
90 | ||
91 | >system>ported>perl>lib>5.005.68k | |
92 | >system>ported>perl>lib>5.005.860 | |
93 | >system>ported>perl>lib>5.005.7100 | |
94 | >system>ported>perl>lib>5.005.8000 | |
95 | ||
96 | 6. Site-specific perl extensions and modules can be installed | |
97 | in one of two places. Put architecture-independent files | |
98 | into: | |
99 | ||
100 | >system>ported>perl>lib>site>5.005 | |
101 | ||
102 | Put architecture-dependent files into one of the following | |
103 | directories: | |
104 | ||
105 | >system>ported>perl>lib>site>5.005.68k | |
106 | >system>ported>perl>lib>site>5.005.860 | |
107 | >system>ported>perl>lib>site>5.005.7100 | |
108 | >system>ported>perl>lib>site>5.005.8000 | |
109 | ||
110 | 7. You can examine the @INC variable from within a perl program | |
111 | to see the order in which Perl searches these directories. | |
495c5fdc | 112 | |
495c5fdc PG |
113 | |
114 | Unimplemented Features | |
115 | ---------------------- | |
24e8e380 GS |
116 | If Perl 5 attempts to call an unimplemented VOS POSIX.1 function, |
117 | it will print a fatal error message and enter the VOS debugger. | |
118 | This error is not recoverable. See vos_dummies.c for a list of | |
119 | the unimplemented POSIX.1 functions. To see what functions are | |
120 | unimplemented and what the error message looks like, compile and | |
121 | execute "test_vos_dummies.c". | |
122 | ||
495c5fdc PG |
123 | |
124 | Restrictions | |
125 | ------------ | |
24e8e380 GS |
126 | This port of Perl version 5 to VOS prefers Unix-style, |
127 | slash-separated pathnames over VOS-style greater-than-separated | |
128 | pathnames. VOS-style pathnames should work in most contexts, but | |
129 | if you have trouble, replace all greater-than characters by slash | |
130 | characters. Because the slash character is used as a pathname | |
131 | delimiter, Perl cannot process VOS pathnames containing a slash | |
132 | character in a directory or file name; these must be renamed. | |
495c5fdc | 133 | |
24e8e380 GS |
134 | This port of Perl also uses Unix-epoch date values internally. |
135 | As long as you are dealing with ASCII character string | |
136 | representations of dates, this should not be an issue. The | |
137 | supported epoch is January 1, 1980 to January 17, 2038. | |
495c5fdc | 138 | |
24e8e380 GS |
139 | See the file pod/perlport.pod for more information about the VOS |
140 | port of Perl. | |
495c5fdc | 141 | |
495c5fdc PG |
142 | |
143 | Support Status | |
144 | -------------- | |
145 | I'm offering this port "as is". You can ask me questions, but I | |
146 | can't guarantee I'll be able to answer them; I don't know much | |
24e8e380 GS |
147 | about Perl itself; I'm still learning that. There are some |
148 | excellent books available on the Perl language; consult a book | |
149 | seller. | |
495c5fdc PG |
150 | |
151 | (end) |