| 1 | Perl 5 README file for the Stratus VOS operating system. |
| 2 | Paul Green (Paul_Green@stratus.com) |
| 3 | February 3, 2000 |
| 4 | |
| 5 | |
| 6 | Introduction |
| 7 | ------------ |
| 8 | This is a port of Perl version 5, revision 005-63, to VOS. Perl |
| 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 |
| 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 | |
| 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 | |
| 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. |
| 35 | |
| 36 | 3. The VOS POSIX.1 environment. As of this writing, this is |
| 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 |
| 42 | your web browser. This is not a standard Stratus product. |
| 43 | |
| 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. |
| 112 | |
| 113 | |
| 114 | Unimplemented Features |
| 115 | ---------------------- |
| 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 | |
| 123 | |
| 124 | Restrictions |
| 125 | ------------ |
| 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. |
| 133 | |
| 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. |
| 138 | |
| 139 | See the file pod/perlport.pod for more information about the VOS |
| 140 | port of Perl. |
| 141 | |
| 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 |
| 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. |
| 150 | |
| 151 | (end) |