.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "PERLVOS 1" .TH PERLVOS 1 "2011-09-26" "perl v5.14.2" "Perl Programmers Reference Guide" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" README.vos \- Perl for Stratus VOS .SH "SYNOPSIS" .IX Header "SYNOPSIS" This file contains notes for building perl on the Stratus \s-1VOS\s0 operating system. Perl is a scripting or macro language that is popular on many systems. See perlbook for a number of good books on Perl. .PP These are instructions for building Perl from source. This version of Perl is not supported on \s-1VOS\s0 Release 14.2 or earlier releases. If you have a Continuum platform running \s-1VOS\s0 Release 14.3 through 14.7, download Perl from the Stratus Anonymous \s-1FTP\s0 site at ftp://ftp.stratus.com/pub/vos/posix/ga/continuum/continuum.html. If you have a V Series platform running \s-1VOS\s0 Release 15.0 or later, or if you have a V Series platform running OpenVOS Release 17.0 or later, download Perl from ftp://ftp.stratus.com/pub/vos/posix/ga/v\-series/v\-series.html. The perl distribution files on the Stratus anonymous \s-1FTP\s0 site are stored in a format called a \*(L"bundled file\*(R". Instructions for unbundling the Perl distribution file are at ftp://ftp.stratus.com/pub/vos/utility/utility.html. .PP If you are running \s-1VOS\s0 Release 14.4.1 or later, you can obtain a pre-compiled, supported copy of perl by purchasing Release 2.0.1 (or later) of the \s-1VOS\s0 \s-1GNU\s0 C/\*(C+ and \s-1GNU\s0 Tools product from Stratus Technologies. .SH "BUILDING PERL FOR VOS" .IX Header "BUILDING PERL FOR VOS" To build perl from its source code on the Stratus Continuum platform, you must be have \s-1VOS\s0 Release 14.5.0 or later, the \s-1STCP\s0 product, and the \s-1GNU\s0 C/\*(C+ and \s-1GNU\s0 Tools, Release 2.0.1 or later. On the V Series platform you must have \s-1VOS\s0 Release 15.0.0 or later, and any version of the \s-1GNU\s0 C/\*(C+ and \s-1GNU\s0 Tools product. .PP To build full perl using the supplied Configure script and makefiles, change to the \*(L"vos\*(R" subdirectory and type the command \&\*(L"compile_full_perl\*(R" or \*(L"start_process compile_full_perl\*(R". This will configure, build, and test perl. .SH "INSTALLING PERL IN VOS" .IX Header "INSTALLING PERL IN VOS" .IP "1." 4 If you have built perl using the Configure script, ensure that you have modify and default write permission to \f(CW\*(C`>system>ported\*(C'\fR and all subdirectories. Then type .Sp .Vb 1 \& gmake install .Ve .IP "2." 4 While there are currently no architecture-specific extensions or modules distributed with perl, the following directories can be used to hold such files (replace the string \s-1VERSION\s0 by the appropriate version number): .Sp .Vb 3 \& >system>ported>lib>perl5>VERSION>7100 \& >system>ported>lib>perl5>VERSION>8000 \& >system>ported>lib>perl5>VERSION>i786 .Ve .IP "3." 4 Site-specific perl extensions and modules can be installed in one of two places. Put architecture-independent files into: .Sp .Vb 1 \& >system>ported>lib>perl5>site_perl>VERSION .Ve .Sp Put site-specific architecture-dependent files into one of the following directories: .Sp .Vb 3 \& >system>ported>lib>perl5>site_perl>VERSION>7100 \& >system>ported>lib>perl5>site_perl>VERSION>8000 \& >system>ported>lib>perl5>site_perl>VERSION>i786 .Ve .IP "4." 4 You can examine the \f(CW@INC\fR variable from within a perl program to see the order in which Perl searches these directories. .SH "USING PERL IN VOS" .IX Header "USING PERL IN VOS" .SS "Restrictions of Perl on \s-1VOS\s0" .IX Subsection "Restrictions of Perl on VOS" This port of Perl version 5 to \s-1VOS\s0 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 \s-1VOS\s0 pathnames containing a slash character in a directory or file name; these must be renamed. .PP This port of Perl also uses Unix-epoch date values internally. As long as you are dealing with \s-1ASCII\s0 character string representations of dates, this should not be an issue. The supported epoch is January 1, 1980 to January 17, 2038. .PP See the file pod/perlport.pod for more information about the \s-1VOS\s0 port of Perl. .SS "Handling of underflow and overflow" .IX Subsection "Handling of underflow and overflow" Prior to \s-1VOS\s0 Release 14.7.0, \s-1VOS\s0 does not support automatically mapping overflowed floating-point values to +infinity, nor automatically mapping underflowed floating-point values to zero, unlike many other platforms. The Perl pack function has been modified to perform such mapping in software on \s-1VOS\s0. Performing other floating-point computations that underflow or overflow will probably result in \s-1SIGFPE\s0. Don't push your luck. .PP As of \s-1VOS\s0 Release 14.7.0 or later, the \s-1VOS\s0 \s-1POSIX\s0 runtime sets up the PA-RISC and \s-1IA\-32\s0 hardware floating-point status register so that the overflow and underflow exceptions do not trap, but instead automatically convert the result to infinity or zero, as appropriate. As of this writing, there are still floating-point operations that can trap, for example, subtracting two infinite values. This is recorded as suggestion posix\-1022, which has been fixed in \s-1VOS\s0 Release 15.2 and higher. .SH "TEST STATUS" .IX Header "TEST STATUS" When Perl 5.9.0 is built using the native build process on \s-1VOS\s0 Release 14.7.0 and \s-1GNU\s0 \*(C+/GNU Tools 2.0.2a, all but nine attempted tests either pass or result in \s-1TODO\s0 (ignored) failures. The tests that fail are: .PP t/io/dup, test 2 t/io/tell, test 28 t/op/pack, test 0 ext/B/t/bytecode, test 1 ext/Devel/Peek/t/Peek, test 1 ext/Encode/t/enc_module, test 1 ext/IO/t/io_dup, test 2 lib/ExtUtils/t/MM_Unix, test 94 lib/Net/ing/t/450_service, test 8 .SH "SUPPORT STATUS" .IX Header "SUPPORT STATUS" I'm offering this port \*(L"as is\*(R". 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. .PP If you want a supported version of perl for \s-1VOS\s0, purchase the \&\s-1VOS\s0 \s-1GNU\s0 C/\*(C+ and \s-1GNU\s0 Tools Release 2.0.1 (or later) product from Stratus Technologies, along with a support contract (or from anyone else who will sell you support). .SH "AUTHOR" .IX Header "AUTHOR" Paul Green (Paul.Green@stratus.com) .SH "LAST UPDATE" .IX Header "LAST UPDATE" October 6, 2010