perlmpeix.pod
来自「MSYS在windows下模拟了一个类unix的终端」· POD 代码 · 共 676 行
POD
676 行
If you read this file _as_is_, just ignore the funny characters yousee. It is written in the POD format (see perlpod manpage) which isspecially designed to be readable as is.=head1 NAMEREADME.mpeix - Perl/iX for HP e3000 MPE =head1 SYNOPSIS http://www.bixby.org/mark/perlix.html Perl language for MPE Last updated June 2, 2000 @ 0400 UTC =head1 NOTEThis is a podified version of the above-mentioned web page,podified by Jarkko Hietaniemi 2001-Jan-01.=head1 What's NewJune 1, 2000 =over 4=item *Rebuilt to be compatible with mod_perl. If you plan on usingmod_perl, you MUST download and install this version of Perl/iX! =item *bincompat5005="undef": sorry, but you will have to recompile anybinary 5.005 extensions that you may be using (if any; there is no5.005 code in what you download from bixby.org)uselargefiles="undef": not available in MPE for POSIX files yet. =item *Now bundled with various add-on packages:=over 8=item *libnet (http://www.gbarr.demon.co.uk/libnet/FAQ.html)=item *libwww-perl (LWP) which lets Perl programs behave like web browsers: 1. #!/PERL/PUB/perl 2. use LWP::Simple; 3. $doc = get('http://www.bixby.org/mark/perlix.html'); # reads the web page into variable $doc (http://www.bixby.org/mark/perlix.html)=item *mod_perl (just the perl portion; the actual DSO will be releasedsoon with Apache/iX 1.3.12 from bixby.org). This module allows you towrite high performance persistent Perl CGI scripts and all sorts ofcool things. (http://perl.apache.org/) and much much more hiding under /PERL/PUB/.cpan/ =item *The CPAN module now works for automatic downloading andinstalling of add-on packages: 1. export FTP_PASSIVE=1 2. perl -MCPAN -e shell 3. Ignore any terminal I/O related complaints! (http://theoryx5.uwinnipeg.ca/CPAN/data/perl/CPAN.html)=back=backMay 20, 2000=over 4=item *Updated to version 5.6.0. Builds straight out of the box on MPE/iX.=item *Perl's getpwnam() function which had regressed to beingunimplemented on MPE is now implemented once again. =backSeptember 17, 1999=over 4=item *Migrated from cccd.edu to bixby.org.=back =head1 WelcomeThis is the official home page for the HP e3000 MPE/iX(http://www.businessservers.hp.com/) port of the Perl scriptinglanguage (http://www.perl.com/) 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 reportsabout major milestones will also be posted to the HP3000-L mailing list(http://www.lsoft.com/scripts/wl.exe?SL1=HP3000-L&H=RAVEN.UTC.EDU) andits associated gatewayed newsgroup comp.sys.hp.mpe. I'm doing this port because I can't live without Perl on the Unixmachines that I administer, and I want to have the same poweravailable to me on MPE. Please send your comments, questions, and bug reports directly to me,Mark Bixby (http://www.bixby.org/mark/), by e-mailing tomark@bixby.org. Or just post them to HP3000-L. The platform I'm using to do this port is an HP 3000 957RX runningMPE/iX 6.0 and using the GNU gcc C compiler(http://jazz.external.hp.com/src/gnu/gnuframe.html). The combined porting wisdom from all of my ports can be found in myMPE/iX Porting Guide (http://www.bixby.org/mark/porting.html). IMPORTANT NOTICE: Yes, I do work for the HP CSY R&D lab, but ALL ofthe software you download from bixby.org is my personal freeware thatis NOT supported by HP.=head1 System Requirements=over 4=item *MPE/iX 5.5 or later. This version of Perl/iX does NOT run onMPE/iX 5.0 or earlier, nor does it run on "classic" MPE/V machines.=item *If you wish to recompile Perl, you must install both GNUCORE andGNUGCC from jazz (http://jazz.external.hp.com/src/gnu/gnuframe.html).=item *Perl/iX will be happier on MPE/iX 5.5 if you install the MPEKX40Bextended POSIX filename characters patch, but this is optional.=item *Patch LBCJXT6A is required on MPE/iX 5.5 machines in order toprevent Perl/iX from dying with an unresolved external referenceto _getenv_libc.=item *If you will be compiling Perl/iX yourself, you will also needSyslog/iX (http://www.bixby.org/mark/syslogix.html) and the/BIND/PUB/include and /BIND/PUB/lib portions of BIND/iX(http://www.bixby.org/mark/bindix.html).=back=head1 How to Obtain Perl/iX=over 4=item 1.Download Perl using either FTP.ARPA.SYS or some other client=item 2.Extract the installation script=item 3.Edit the installation script=item 4.Run the installation script=item 5.Convert your *.a system archive libraries to *.sl shared libraries =backDownload Perl using FTP.ARPA.SYS from your HP 3000 (the preferredmethod)..... :HELLO MANAGER.SYS :XEQ FTP.ARPA.SYS open ftp.bixby.org anonymous your@email.address bytestream cd /pub/mpe get perl-5.6.0-mpe.tar.Z /tmp/perl.tar.Z;disc=2147483647 exit.....Or download using some other generic web or ftp client (the alternatemethod) Download the following files (make sure that you use "binary mode" orwhatever client feature that is 8-bit clean):=over 4=item *Perl from http://www.bixby.org/ftp/pub/mpe/perl-5.6.0-mpe.tar.Zor ftp://ftp.bixby.org/pub/mpe/perl-5.6.0-mpe.tar.Z =item *Upload those files to your HP 3000 in an 8-bit clean bytestream manner to: /tmp/perl.tar.Z =item *Then extract the installation script (after both download methods) :CHDIR /tmp :XEQ TAR.HPBIN.SYS 'xvfopz /tmp/perl.tar.Z INSTALL'=item *Edit the installation script Examine the accounting structure creation commands and modify ifnecessary (adding additional capabilities, choosing a non-systemvolume set, etc). :XEQ VI.HPBIN.SYS /tmp/INSTALL=item *Run the installation script. The accounting structure will be created and then all files will beextracted from the archive. :XEQ SH.HPBIN.SYS /tmp/INSTALL=item *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 toconvert /lib/lib*.a and /usr/lib/lib*.a libraries to their *.slequivalents. This step should not be necessary on MPE/iX 6.0 or latermachines because the 6.0 or later update process does it for you. :XEQ SH.HPBIN.SYS /PERL/PUB/LIBSHP3K=back=head1 Distribution Contents Highlights=over 4=item READMEThe file you're reading now. =item INSTALLPerl/iX Installation script. =item LIBSHP3KScript to convert *.a system archive libraries to *.sl shared libraries. =item PERLPerl NMPRG executable. A version-numbered backup copy alsoexists. You might wish to "ln -s /PERL/PUB/PERL /usr/local/bin/perl". =item .cpan/Much add-on source code downloaded with the CPAN module. =item lib/Perl libraries, both core and add-on. =item man/Perl man page documentation.=item public_html/feedback.cgiSample feedback CGI form written in Perl. =item src/perl-5.6.0-mpeSource code.=back =head1 How to Compile Perl/iX=over 4=item 1.cd src/perl-5.6.0-mpe=item 2.Read the INSTALL file for the official instructions=item 3../Configure -d=item 4.make=item 5../mpeix/relink=item 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)=item 7.make install=item 8.Optionally create symbolic links that point to the Perlexecutable, i.e. ln -s /PERL/PUB/PERL /usr/local/bin/perl =backThe 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.=head1 Getting Started with Perl/iXCreate your Perl script files with "#!/PERL/PUB/perl" (or anequivalent symbolic link) as the first line. Use the chmod command tomake sure that your script has execute permission. Run your script! Be sure to take a look at the CPAN module list(http://www.cpan.org/CPAN.html). A wide variety of free Perl softwareis available. You can automatically download these packages by usingthe CPAN module (http://theoryx5.uwinnipeg.ca/CPAN/data/perl/CPAN.html).=head1 MPE/iX Implementation ConsiderationsThere some minor functionality issues to be aware of when comparingPerl for Unix (Perl/UX) to Perl/iX:=over 4=item *MPE gcc/ld doesn't properly support linking NMPRG executables againstNMXL dynamic libraries, so you must manually run mpeix/relink aftereach re-build of Perl.=item *Perl/iX File::Copy will use MPE's /bin/cp command to copy files byname in order to preserve file attributes like file code.=item *MPE (and thus Perl/iX) lacks support for setgrent(), endgrent(),setpwent(), endpwent().=item *MPE (and thus Perl/iX) lacks support for hard links.=item *MPE requires GETPRIVMODE() in order to bind() to ports less than 1024.Perl/iX will call GETPRIVMODE() automatically on your behalf if youattempt to bind() to these low-numbered ports. Note that the Perl/iXexecutable and the PERL account do not normally have CAP=PM, so if youwill be bind()-ing to these privileged ports, you will manually needto add PM capability as appropriate.=item *MPE requires that you bind() to an IP address of zero. Perl/iXautomatically replaces the IP address that you pass to bind() witha zero.=item *If you use Perl/iX fcntl() against a socket it will fail, because MPErequires that you use sfcntl() instead. Perl/iX does not presentlysupport sfcntl().=item *MPE requires GETPRIVMODE() in order to setuid(). There are too manycalls to setuid() within Perl/iX, so I have not attempted an automaticGETPRIVMODE() solution similar to bind().=back =head1 Known Bugs Under InvestigationNone. =head1 To-Do List=over 4=item *Make setuid()/setgid() support work.=item *Make sure that fcntl() against a socket descriptor is redirected to sfcntl().=item *Add support for Berkeley DB once I've finished porting Berkeley DB.=item *Write an MPE XS extension library containing miscellaneous importantMPE functions like GETPRIVMODE(), GETUSERMODE(), and sfcntl(). =back=head1 Change HistoryMay 6, 1999 =over 4=item *Patch LBCJXT6A is required on MPE/iX 5.5 machines in order to preventPerl/iX from dying with an unresolved external reference to _getenv_libc. =backApril 7, 1999=over 4=item *Updated to version 5.005_03.=item *The official source distribution once again compiles "straight outof the box" for MPE.=item *The current incarnation of the 5.5 POSIX filename extendedcharacters patch is now MPEKX40B.=item *The LIBSHP3K *.a -> *.sl library conversion script is now includedas /PERL/PUB/LIBSHP3K. =backNovember 20, 1998=over 4=item *Updated to version 5.005_02.=item *Fixed a DynaLoader bug that was unable to load symbols from relativepath name libraries.=item *Fixed a .xs compilation bug where the mpeixish.sh include file wasn'tbeing installed into the proper directory.=item *All bugfixes will be submitted back to the official Perl developers.=item *The current incarnation of the POSIX filename extended characterspatch is now MPEKXJ3A. =back August 14, 1998=over 4=item *The previous POSIX filename extended characters patch MPEKX44C hasbeen superseded by MPEKXB5A. =back August 7, 1998=over 4=item *The previous POSIX filename extended characters patch MPEKX76A hasbeen superseded by MPEKX44C. =over 4=back July 28, 1998=item *Updated to version 5.005_01. =back July 23, 1998=over 4=item *Updated to version 5.005 (production release). The publicfreeware sources are now 100% MPE-ready "straight out of the box". =back July 17, 1998=over 4=item *Updated to version 5.005b1 (public beta release). The publicfreeware sources are now 99.9% MPE-ready. By installing andtesting this beta on your own HP3000, you will be helping toinsure that the final release of 5.005 will be 100% MPE-ready and100% bug free.=item *My MPE binary release is now extracted using my standard INSTALL script. =back July 15, 1998=over 4=item *Changed startperl to #!/PERL/PUB/perl so that Perl will recognizescripts more easily and efficiently. =back July 8, 1998=over 4=item *Updated to version 5.004_70 (internal developer release) which is nowMPE-ready. The next public freeware release of Perl should compile"straight out of the box" on MPE. Note that this version of Perl/iXwas strictly internal to me and never publicly released. Note that[21]BIND/iX is now required (well, the include files and libbind.a) ifyou wish to compile Perl/iX. =back November 6, 1997=over 4=item *Updated to version 5.004_04. No changes in MPE-specific functionality. =back October 16, 1997=over 4=item *Added Demos section to the Perl/iX home page so you can see somesample Perl applications running on my 3000. =back October 3, 1997=over 4=item *Added System Requirements section to the Perl/iX home page just so theprerequisites stand out more. Various other home page tweaks. =back October 2, 1997=over 4=item *Initial public release. =back September 1997=over 4=item *Porting begins.=back =head1 Author Mark Bixby, mark@bixby.org
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?