PERLVMESA(1) Perl Programmers Reference Guide PERLVMESA(1)
README.vmesa - building and installing Perl for VM/ESA.
This document will help you Configure, build, test and install Perl on
This is a fully ported perl for VM/ESA 2.3.0. It may work on other
versions, but thats the one weve tested it on.
If youve downloaded the binary distribution, it needs to be installed
below /usr/local. Source code distributions have an automated "make
install" step that means you do not need to extract the source code
below /usr/local (though that is where it will be installed by
default). You may need to worry about the networking configuration
files discussed in the last bullet below.
Unpacking Perl Distribution on VM/ESA
To extract an ASCII tar archive on VM/ESA, try this:
pax -o to=IBM-1047,from=ISO8859-1 -r < latest.tar
Setup Perl and utilities on VM/ESA
GNU make for VM/ESA, which may be required for the build of perl, is
Configure Perl on VM/ESA
Once youve unpacked the distribution, run Configure (see INSTALL for
full discussion of the Configure options), and then run make, then
"make test" then "make install" (this last step may require UID=0 priv
There is a "hints" file for vmesa that specifies the correct values for
most things. Some things to watch out for are:
this port does support dynamic loading but its not had much test
Dont turn on the compiler optimization flag "-O". Theres a bug
in the compiler (APAR PQ18812) that generates some bad code the
optimizer is on.
As VM/ESA doesnt fully support the fork() API programs relying on
this call will not work. Ive replaced fork()/exec() with spawn()
and the standalone exec() with spawn(). This has a side effect when
opening unnamed pipes in a shell script: there is no child process
At the moment the hints file for VM/ESA basically bypasses all of
the automatic configuration process. This is because Configure
relies on: 1. The header files living in the Byte File System (you
could put the there if you want); 2. The C preprocessor including
the #include statements in the preprocessor output (.i) file.
Testing Anomalies of Perl on VM/ESA
The "make test" step runs a Perl Verification Procedure, usually before
installation. As the 5.6.1 kit was being assembled the following
"failures" were known to appear on some machines during "make test"
(mostly due to ASCII vs. EBCDIC conflicts), your results may differ:
[the list of failures being compiled]
Usage Hints for Perl on VM/ESA
When using perl on VM/ESA please keep in mind that the EBCDIC and ASCII
character sets are different. Perl builtin functions that may behave
differently under EBCDIC are mentioned in the perlport.pod document.
OpenEdition (UNIX System Services) does not (yet) support the #! means
of script invocation. See:
head whence perldoc
for an example of how to use the "eval exec" trick to ask the shell to
have perl run your scripts for you.
INSTALL, perlport, perlebcdic.
Mailing list for Perl on VM/ESA
If you are interested in the VM/ESA, z/OS (formerly known as OS/390)
and POSIX-BC (BS2000) ports of Perl then see the perl-mvs mailing list.
To subscribe, send an empty message to firstname.lastname@example.org.
There are web archives of the mailing list at:
perl v5.8.8 2008-04-25 PERLVMESA(1)