perlmpeix.pod

来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· POD 代码 · 共 731 行

POD
731
字号
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   http://jazz.external.hp.com/src/hp_freeware/perl/   Perl language for MPE   Last updated January 12, 2006 @ 2100 UTC=head1 NOTEThis is a podified version of the above-mentioned web page,podified by Jarkko Hietaniemi 2001-Jan-01.=head1 Binary distribution from HPThe simplest way to obtain Perl for the MPE/iX is to go either ofthese URLs and follow the instructions within.http://jazz.external.hp.com/src/hp_freeware/perl/http://www.bixby.org/mark/perlix.htmlUse which ever one is more recent.=head1 What's New in Perl for MPE/iXJanuary 12, 2006=over 4=item *Updated for perl-5.8.8 and perl-5.9.3 by Ken Hirsch.Simplified the build process by using the MPEAUTOCONFfunctionality in Mark Klein's ld.If you build this from scratch, make sure you have a versionof 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 AUTOCONFIf you see don't see AUTOCONF or MPEAUTOCONF, make sure you get a newversion.You also do not have to use mpeix/relink after building, so therecommend sequence is:  ./Configure -de      # or ./Configure -de -Dusedevel       # if you're building a development version  make  make test     # if you run this in a job, do "make test_notty"  make installBe prepared for a wait. These take much longer on MPE/iX than on a Unixsystem, because of a slow forking, mostly.  On a lightly-loaded HP3000Series 979 running MPE/iX 7.5:    Configure: 1 hour    make:      1 hour 15 minutes    make test  1 hour 45 minutesVarious socket problems were fixed in mpeix.c.Mark Klein provided a fixed sigsetjmp (that works with dynamiclibraries) in mpeix_setjmp.c=backJune 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 *uselargefiles="undef": not available in MPE for POSIX files yet.=item *Now bundled with various add-on packages:=over 8=item *libnet (as seen on CPAN)=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 Welcome to Perl/iXThis is the official home page for the HP e3000 MPE/iX( http://www.hp.com/go/e3000 ) 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/ ). 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 for Perl/iX=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 scriptExamine 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 librariesYou 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 Perl/iX 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 *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 Perl/iX Bugs Under InvestigationNone.=head1 Perl/iX 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 Perl/iX 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.=backAugust 14, 1998=over 4=item *The previous POSIX filename extended characters patch MPEKX44C hasbeen superseded by MPEKXB5A.=backAugust 7, 1998=over 4=item *The previous POSIX filename extended characters patch MPEKX76A hasbeen superseded by MPEKX44C.=backJuly 28, 1998=over 4=item *Updated to version 5.005_01.=backJuly 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".=backJuly 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.=backJuly 15, 1998=over 4=item *Changed startperl to #!/PERL/PUB/perl so that Perl will recognizescripts more easily and efficiently.=backJuly 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.=backNovember 6, 1997=over 4=item *Updated to version 5.004_04.  No changes in MPE-specific functionality.=backOctober 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.=backOctober 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.=backOctober 2, 1997=over 4=item *Initial public release.=backSeptember 1997=over 4=item *Porting begins.=back=head1 AUTHORMark Bixby, http://www.bixby.org/mark/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?