perlmpeix man page on QNX

Man page or keyword search:  
man Server   4347 pages
apropos Keyword Search (all sections)
Output format
QNX logo
[printable version]

PERLMPEIX(1)	       Perl Programmers Reference Guide		  PERLMPEIX(1)

       README.mpeix - Perl/iX for HP e3000 MPE

	  Perl language for MPE
	  Last updated January 12, 2006 @ 2100 UTC

       This is a podified version of what used to be on the above-mentioned
       web page, podified by Jarkko Hietaniemi 2001-Jan-01.

What's New in Perl for MPE/iX
       January 12, 2006

       ·   Updated for perl-5.8.8 and perl-5.9.3 by Ken Hirsch.

	   Simplified the build process by using the MPEAUTOCONF functionality
	   in Mark Klein's ld.

	   If you build this from scratch, make sure you have a version of ld
	   which supports it.  In the shell, type

	     ld --help
	       and look for AUTOCONF or MPEAUTOCONF near the bottom

	     or do this:
	     ld --help 2>&1 | grep AUTOCONF

	   If you see don't see AUTOCONF or MPEAUTOCONF, make sure you get a
	   new version.

	   You also do not have to use mpeix/relink after building, so the
	   recommend sequence is:

	     ./Configure -de

		 # or ./Configure -de -Dusedevel
		 # if you're building a development version

	     make test
		# if you run this in a job, do "make test_notty"

	     make install

	   Be prepared for a wait. These take much longer on MPE/iX than on a
	   Unix system, because of a slow forking, mostly.  On a lightly-
	   loaded HP3000 Series 979 running MPE/iX 7.5:

	       Configure: 1 hour
	       make:	  1 hour 15 minutes
	       make test  1 hour 45 minutes

	   Various socket problems were fixed in mpeix.c.

	   Mark Klein provided a fixed sigsetjmp (that works with dynamic
	   libraries) in mpeix_setjmp.c

       June 1, 2000

       ·   Rebuilt to be compatible with mod_perl.  If you plan on using
	   mod_perl, you MUST download and install this version of Perl/iX!

       ·   uselargefiles="undef": not available in MPE for POSIX files yet.

       ·   Now bundled with various add-on packages:

	   ·	   libnet (as seen on CPAN)

	   ·	   libwww-perl (LWP) which lets Perl programs behave like web

	   ·	   mod_perl (just the perl portion; the actual DSO will be
		   released soon with Apache/iX 1.3.12 from	 This
		   module allows you to write high performance persistent Perl
		   CGI scripts and all sorts of cool things.

		   and much much more hiding under /PERL/PUB/.cpan/

	   ·	   The CPAN module now works for automatic downloading and
		   installing of add-on packages:

		       1. export FTP_PASSIVE=1
		       2. perl -MCPAN -e shell
		       3. Ignore any terminal I/O related complaints!


       May 20, 2000

       ·   Updated to version 5.6.0.  Builds straight out of the box on

       ·   Perl's getpwnam() function which had regressed to being
	   unimplemented on MPE is now implemented once again.

       September 17, 1999

       ·   Migrated from to

Welcome to Perl/iX
       This is the official home page for the HP e3000 MPE/iX ( ) port of the Perl scripting language ( ) which gives you all of the power of C, awk, sed,
       and sh in a single language. Check here for the latest news,
       implemented functionality, known bugs, to-do list, etc. Status reports
       about major milestones will also be posted to the HP3000-L mailing list
       ( )
       and its associated gatewayed newsgroup comp.sys.hp.mpe.

       I'm doing this port because I can't live without Perl on the Unix
       machines that I administer, and I want to have the same power available
       to me on MPE.

       Please send your comments, questions, and bug reports directly to me,
       Mark Bixby ( ). Or just post them to

       The platform I'm using to do this port is an HP 3000 957RX running
       MPE/iX 6.0 and using the GNU gcc C compiler ( ).

       The combined porting wisdom from all of my ports can be found in my
       MPE/iX Porting Guide (

       IMPORTANT NOTICE: Yes, I do work for the HP CSY R&D lab, but ALL of the
       software you download from is my personal freeware that is
       NOT supported by HP.

System Requirements for Perl/iX
       ·   MPE/iX 5.5 or later. This version of Perl/iX does NOT run on MPE/iX
	   5.0 or earlier, nor does it run on "classic" MPE/V machines.

       ·   If you wish to recompile Perl, you must install both GNUCORE and
	   GNUGCC from jazz

       ·   Perl/iX will be happier on MPE/iX 5.5 if you install the MPEKX40B
	   extended POSIX filename characters patch, but this is optional.

       ·   Patch LBCJXT6A is required on MPE/iX 5.5 machines in order to
	   prevent Perl/iX from dying with an unresolved external reference to

       ·   If you will be compiling Perl/iX yourself, you will also need
	   Syslog/iX ( ) and the
	   /BIND/PUB/include and /BIND/PUB/lib portions of BIND/iX ( ).

How to Obtain Perl/iX
       1.  Download Perl using either FTP.ARPA.SYS or some other client

       2.  Extract the installation script

       3.  Edit the installation script

       4.  Run the installation script

       5.  Convert your *.a system archive libraries to *.sl shared libraries

       Download Perl using FTP.ARPA.SYS from your HP 3000 (the preferred

	   cd /pub/mpe
	   get perl-5.6.0-mpe.tar.Z /tmp/perl.tar.Z;disc=2147483647

       .....Or download using some other generic web or ftp client (the
       alternate method)

       Download the following files (make sure that you use "binary mode" or
       whatever client feature that is 8-bit clean):

       ·   Perl from


       ·   Upload those files to your HP 3000 in an 8-bit clean bytestream
	   manner to:


       ·   Then extract the installation script (after both download methods)

	       :CHDIR /tmp
	       :XEQ TAR.HPBIN.SYS 'xvfopz /tmp/perl.tar.Z INSTALL'

       ·   Edit the installation script

	   Examine the accounting structure creation commands and modify if
	   necessary (adding additional capabilities, choosing a non-system
	   volume set, etc).


       ·   Run the installation script.

	   The accounting structure will be created and then all files will be
	   extracted from the archive.


       ·   Convert your *.a system archive libraries to *.sl shared libraries

	   You only have to do this ONCE on your MPE/iX 5.5 machine in order
	   to convert /lib/lib*.a and /usr/lib/lib*.a libraries to their *.sl
	   equivalents.	 This step should not be necessary on MPE/iX 6.0 or
	   later machines because the 6.0 or later update process does it for


Perl/iX Distribution Contents Highlights
	   The file you're reading now.

	   Perl/iX Installation script.

	   Script to convert *.a system archive libraries to *.sl shared

	   Perl NMPRG executable.  A version-numbered backup copy also exists.
	   You might wish to "ln -s /PERL/PUB/PERL /usr/local/bin/perl".

	   Much add-on source code downloaded with the CPAN module.

	   Perl libraries, both core and add-on.

	   Perl man page documentation.

	   Sample feedback CGI form written in Perl.

	   Source code.

How to Compile Perl/iX
       1.  cd src/perl-5.6.0-mpe

       2.  Read the INSTALL file for the official instructions

       3.  ./Configure -d

       4.  make

       5.  ./mpeix/relink

       6.  make test (expect approximately 15 out of 11306 subtests to fail,
	   mostly due to MPE not supporting hard links, UDP socket problems,
	   and handling exit() return codes improperly)

       7.  make install

       8.  Optionally create symbolic links that point to the Perl executable,
	   i.e. ln -s /PERL/PUB/PERL /usr/local/bin/perl

       The summary test results from "cd t; ./perl -I../lib harness":

	 Failed Test  Status Wstat Total Fail  Failed  List of failed
	 io/fs.t		      29    8  27.59%  2-5, 7-9, 11
	 io/openpid.t		      10    1  10.00%  7
	 lib/io_sock.t		      14    1	7.14%  13
	 lib/io_udp.t		       7    2  28.57%  3, 5
	 lib/posix.t		      27    1	3.70%  12
	 op/lex_assign.t	     187    1	0.53%  13
	 op/stat.t		      58    1	1.72%  3
	 15 tests and 94 subtests skipped.
	 Failed 7/236 test scripts, 97.03% okay. 15/11306 subtests failed, 99.87% okay.

Getting Started with Perl/iX
       Create your Perl script files with "#!/PERL/PUB/perl" (or an equivalent
       symbolic link) as the first line.  Use the chmod command to make sure
       that your script has execute permission. Run your script!

       Be sure to take a look at the CPAN module list ( ). A wide variety of free Perl software
       is available.  You can automatically download these packages by using
       the CPAN module ( ).

MPE/iX Implementation Considerations
       There some minor functionality issues to be aware of when comparing
       Perl for Unix (Perl/UX) to Perl/iX:

       ·   MPE gcc/ld doesn't properly support linking NMPRG executables
	   against NMXL dynamic libraries, so you must manually run
	   mpeix/relink after each re-build of Perl.

       ·   Perl/iX File::Copy will use MPE's /bin/cp command to copy files by
	   name in order to preserve file attributes like file code.

       ·   MPE (and thus Perl/iX) lacks support for setgrent(), endgrent(),
	   setpwent(), endpwent().

       ·   MPE (and thus Perl/iX) lacks support for hard links.

       ·   MPE requires GETPRIVMODE() in order to bind() to ports less than
	   1024.  Perl/iX will call GETPRIVMODE() automatically on your behalf
	   if you attempt to bind() to these low-numbered ports.  Note that
	   the Perl/iX executable and the PERL account do not normally have
	   CAP=PM, so if you will be bind()-ing to these privileged ports, you
	   will manually need to add PM capability as appropriate.

       ·   MPE requires that you bind() to an IP address of zero.  Perl/iX
	   automatically replaces the IP address that you pass to bind() with
	   a zero.

       ·   MPE requires GETPRIVMODE() in order to setuid().  There are too
	   many calls to setuid() within Perl/iX, so I have not attempted an
	   automatic GETPRIVMODE() solution similar to bind().

Known Perl/iX Bugs Under Investigation

Perl/iX To-Do List
       ·   Make setuid()/setgid() support work.

       ·   Make sure that fcntl() against a socket descriptor is redirected to

       ·   Add support for Berkeley DB once I've finished porting Berkeley DB.

       ·   Write an MPE XS extension library containing miscellaneous
	   important MPE functions like GETPRIVMODE(), GETUSERMODE(), and

Perl/iX Change History
       May 6, 1999

       ·   Patch LBCJXT6A is required on MPE/iX 5.5 machines in order to
	   prevent Perl/iX from dying with an unresolved external reference to

       April 7, 1999

       ·   Updated to version 5.005_03.

       ·   The official source distribution once again compiles "straight out
	   of the box" for MPE.

       ·   The current incarnation of the 5.5 POSIX filename extended
	   characters patch is now MPEKX40B.

       ·   The LIBSHP3K *.a -> *.sl library conversion script is now included

       November 20, 1998

       ·   Updated to version 5.005_02.

       ·   Fixed a DynaLoader bug that was unable to load symbols from
	   relative path name libraries.

       ·   Fixed a .xs compilation bug where the include file
	   wasn't being installed into the proper directory.

       ·   All bugfixes will be submitted back to the official Perl

       ·   The current incarnation of the POSIX filename extended characters
	   patch is now MPEKXJ3A.

       August 14, 1998

       ·   The previous POSIX filename extended characters patch MPEKX44C has
	   been superseded by MPEKXB5A.

       August 7, 1998

       ·   The previous POSIX filename extended characters patch MPEKX76A has
	   been superseded by MPEKX44C.

       July 28, 1998

       ·   Updated to version 5.005_01.

       July 23, 1998

       ·   Updated to version 5.005 (production release).  The public freeware
	   sources are now 100% MPE-ready "straight out of the box".

       July 17, 1998

       ·   Updated to version 5.005b1 (public beta release).  The public
	   freeware sources are now 99.9% MPE-ready.  By installing and
	   testing this beta on your own HP3000, you will be helping to insure
	   that the final release of 5.005 will be 100% MPE-ready and 100% bug

       ·   My MPE binary release is now extracted using my standard INSTALL

       July 15, 1998

       ·   Changed startperl to #!/PERL/PUB/perl so that Perl will recognize
	   scripts more easily and efficiently.

       July 8, 1998

       ·   Updated to version 5.004_70 (internal developer release) which is
	   now MPE-ready.  The next public freeware release of Perl should
	   compile "straight out of the box" on MPE.  Note that this version
	   of Perl/iX was strictly internal to me and never publicly released.
	   Note that [21]BIND/iX is now required (well, the include files and
	   libbind.a) if you wish to compile Perl/iX.

       November 6, 1997

       ·   Updated to version 5.004_04.	 No changes in MPE-specific

       October 16, 1997

       ·   Added Demos section to the Perl/iX home page so you can see some
	   sample Perl applications running on my 3000.

       October 3, 1997

       ·   Added System Requirements section to the Perl/iX home page just so
	   the prerequisites stand out more. Various other home page tweaks.

       October 2, 1997

       ·   Initial public release.

       September 1997

       ·   Porting begins.

       Mark Bixby,

perl v5.12.2			  2010-09-05			  PERLMPEIX(1)
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server QNX

List of man pages available for QNX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net