Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
PERLOS400(1)	       Perl Programmers	Reference Guide		  PERLOS400(1)

       perlos400 - Perl	version	5 on OS/400

       This document needs to be updated, but we don't know what it should
       say.  Please submit comments to <>.

       This document describes various features	of IBM's OS/400	operating
       system that will	affect how Perl	version	5 (hereafter just Perl)	is
       compiled	and/or runs.

       By far the easiest way to build Perl for	OS/400 is to use the PASE
       (Portable Application Solutions Environment), for more information see
       <> This
       environment allows one to use AIX APIs while programming, and it
       provides	a runtime that allows AIX binaries to execute directly on the
       PowerPC iSeries.

   Compiling Perl for OS/400 PASE
       The recommended way to build Perl for the OS/400	PASE is	to build the
       Perl 5 source code (release 5.8.1 or later) under AIX.

       The trick is to give a special parameter	to the Configure shell script
       when running it on AIX:

	 sh Configure -DPASE ...

       The default installation	directory of Perl under	PASE is
       /QOpenSys/perl.	This can be modified if	needed with Configure
       parameter -Dprefix=/some/dir.

       Starting	from OS/400 V5R2 the IBM Visual	Age compiler is	supported on
       OS/400 PASE, so it is possible to build Perl natively on	OS/400.	 The
       easier way, however, is to compile in AIX, as just described.

       If you don't want to install the	compiled Perl in AIX into /QOpenSys
       (for packaging it before	copying	it to PASE), you can use a Configure
       parameter: -Dinstallprefix=/tmp/QOpenSys/perl.  This will cause the
       "make install" to install everything into that directory, while the
       installed files still think they	are (will be) in /QOpenSys/perl.

       If building natively on PASE, please do the build under the /QOpenSys
       directory, since	Perl is	happier	when built on a	case sensitive

   Installing Perl in OS/400 PASE
       If you are compiling on AIX, simply do a	"make install" on the AIX box.
       Once the	install	finishes, tar up the /QOpenSys/perl directory.
       Transfer	the tarball to the OS/400 using	FTP with the following

	 > binary
	 > site	namefmt	1
	 > put perl.tar	/QOpenSys

       Once you	have it	on, simply bring up a PASE shell and extract the

       If you are compiling in PASE, then "make	install" is the	only thing you
       will need to do.

       The default path	for perl binary	is /QOpenSys/perl/bin/perl.  You'll
       want to symlink /QOpenSys/usr/bin/perl to this file so you don't	have
       to modify your path.

   Using Perl in OS/400	PASE
       Perl in PASE may	be used	in the same manner as you would	use Perl on

       Scripts starting	with #!/usr/bin/perl should work if you	have
       /QOpenSys/usr/bin/perl symlinked	to your	perl binary.  This will	not
       work if you've done a setuid/setgid or have environment variable
       PASE_EXEC_QOPENSYS="N".	If you have V5R1, you'll need to get the
       latest PTFs to have this	feature.  Scripts starting with
       #!/QOpenSys/perl/bin/perl should	always work.

   Known Problems
       When compiling in PASE, there is	no "oslevel" command.  Therefore, you
       may want	to create a script called "oslevel" that echoes	the level of
       AIX that	your version of	PASE runtime supports.	If you're unsure,
       consult your documentation or use "".

       If you have test	cases that fail, check for the existence of spool
       files.  The test	case may be trying to use a syscall that is not
       implemented in PASE.  To	avoid the SIGILL, try setting the
       PASE_SYSCALL_NOSIGILL environment variable or have a handler for	the
       SIGILL.	If you can compile programs for	PASE, run the config script
       and edit when it gives	you the	option.	 If you	want to	remove
       fchdir(), which isn't implement in V5R1,	simply change the line that




       and then	compile	Perl.  The places where	fchdir() is used have
       alternatives for	systems	that do	not have fchdir() available.

   Perl	on ILE
       There exists a port of Perl to the ILE environment.  This port,
       however,	is based quite an old release of Perl, Perl 5.00502 (August
       1998).  (As of July 2002	the latest release of Perl is 5.8.0, and even
       5.6.1 has been out since	April 2001.)  If you need to run Perl on ILE,
       though, you may need this older port:
       <> Note that any	Perl release later
       than 5.00502 has	not been ported	to ILE.

       If you need to use Perl in the ILE environment, you may want to
       consider	using Qp2RunPase() to call the PASE version of Perl.

       Jarkko Hietaniemi <> Bryan Logan <>	David
       Larson <>

perl v5.34.0			  2020-06-14			  PERLOS400(1)


Want to link to this manual page? Use this URL:

home | help