⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 perlmint.1

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 1
字号:
.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05).\".\" Standard preamble:.\" ========================================================================.de Sh \" Subsection heading.br.if t .Sp.ne 5.PP\fB\\$1\fR.PP...de Sp \" Vertical space (when we can't use .PP).if t .sp .5v.if n .sp...de Vb \" Begin verbatim text.ft CW.nf.ne \\$1...de Ve \" End verbatim text.ft R.fi...\" Set up some character translations and predefined strings.  \*(-- will.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left.\" double quote, and \*(R" will give a right double quote.  \*(C+ will.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,.\" nothing in troff, for use with C<>..tr \(*W-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'.ie n \{\.    ds -- \(*W-.    ds PI pi.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch.    ds L" "".    ds R" "".    ds C` "".    ds C' ""'br\}.el\{\.    ds -- \|\(em\|.    ds PI \(*p.    ds L" ``.    ds R" '''br\}.\".\" Escape single quotes in literal strings from groff's Unicode transform..ie \n(.g .ds Aq \(aq.el       .ds Aq '.\".\" If the F register is turned on, we'll generate index entries on stderr for.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index.\" entries marked with X<> in POD.  Of course, you'll have to process the.\" output yourself in some meaningful fashion..ie \nF \{\.    de IX.    tm Index:\\$1\t\\n%\t"\\$2"...    nr % 0.    rr F.\}.el \{\.    de IX...\}.\".\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2)..\" Fear.  Run.  Save yourself.  No user-serviceable parts..    \" fudge factors for nroff and troff.if n \{\.    ds #H 0.    ds #V .8m.    ds #F .3m.    ds #[ \f1.    ds #] \fP.\}.if t \{\.    ds #H ((1u-(\\\\n(.fu%2u))*.13m).    ds #V .6m.    ds #F 0.    ds #[ \&.    ds #] \&.\}.    \" simple accents for nroff and troff.if n \{\.    ds ' \&.    ds ` \&.    ds ^ \&.    ds , \&.    ds ~ ~.    ds /.\}.if t \{\.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u".    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'.\}.    \" troff and (daisy-wheel) nroff accents.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'.ds 8 \h'\*(#H'\(*b\h'-\*(#H'.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#].ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#].ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#].ds ae a\h'-(\w'a'u*4/10)'e.ds Ae A\h'-(\w'A'u*4/10)'E.    \" corrections for vroff.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'.    \" for low resolution devices (crt and lpr).if \n(.H>23 .if \n(.V>19 \\{\.    ds : e.    ds 8 ss.    ds o a.    ds d- d\h'-1'\(ga.    ds D- D\h'-1'\(hy.    ds th \o'bp'.    ds Th \o'LP'.    ds ae ae.    ds Ae AE.\}.rm #[ #] #H #V #F C.\" ========================================================================.\".IX Title "PERLMINT 1".TH PERLMINT 1 "2007-12-18" "perl v5.10.0" "Perl Programmers Reference Guide".\" For nroff, turn off justification.  Always turn off hyphenation; it makes.\" way too many mistakes in technical documents..if n .ad l.nh.SH "NAME"README.mint \- Perl version 5 on Atari MiNT.SH "DESCRIPTION".IX Header "DESCRIPTION"There is a binary version of perl available from the FreeMiNT projecthttp://freemint.de/  You may wish to use this instead of trying tocompile yourself..PP\&\fBThe following advice is from perl 5.004_02 and is probably ratherout of date.\fR.PPIf you want to build perl yourself on MiNT (or maybe on an Atari withoutMiNT) you may want to accept some advice from somebody who already did it....PPThere was a perl port for Atari \s-1ST\s0 done by ++jrb bammi@cadence.com.This port tried very hard to build on non-MiNT-systems.  For thesake of efficiency I've left this way.  Yet, I haven't removed bammi'spatches but left them intact.  Unfortunately some of the files thatbammi contributed to the perl distribution seem to have vanished?.PPSo, how can you distinguish my patches from bammi's patches?  All ofbammi's stuff is embedded in \*(L"#ifdef atarist\*(R" preprocessor macros.My MiNT port uses \*(L"#ifdef _\|_MINT_\|_\*(R" instead (and unconditionallyundefines \*(L"atarist\*(R".  If you want to continue on bammi's port, all you have to do is to swap the \*(L"\-D\*(R" and \*(L"\-U\*(R" switches for \*(L"_\|_MINT_\|_\*(R"  and \*(L"atarist\*(R" in the variable ccflags..PPHowever, I think that my version will still run on non-MiNT-systemsprovided that the user has a Eunuchs-like environment (i.e. thestandard envariables like \f(CW$PATH\fR, \f(CW$HOME\fR, ... are set, there is a\&\s-1POSIX\s0 compliant shell in /bin/sh, and...).SH "Known problems with Perl on MiNT".IX Header "Known problems with Perl on MiNT"The problems you may encounter when building perl on your machineare most probably due to deficiencies in MiNT resp. the Atariplatform in general..PPFirst of all, if you have less than 8 \s-1MB\s0 of \s-1RAM\s0 you shouldn'teven try to build Perl yourself.  Better grab a binary pre-compiledversion somewhere.  Even if you have more memory you should takesome care.  Try to run in a fresh environment (without memoryfragmented too much) with as few daemons, accessories, xcontrolmodules etc. as possible.  If you run some \s-1AES\s0 you should consider to start a console based environment instead..PPA problem has been reported with sed.  Sed is used to createsome configuration files based on the answers you have givento the Configure script.  Unfortunately the Perl Configure scriptshows sed on MiNT its limits.  I have sed 2.05 with a stacksizeof 64k and I have encountered no problems.  If sed crashesduring your configuration process you should first try toaugment sed's stacksize:.PP.Vb 1\&        fixstk 64k /usr/bin/sed.Ve.PP(or similar).  If it still doesn't help you may have a lookwhich other versions of sed are installed on your system.If you have a \s-1KGMD\s0 1.0 installation you will find threein /usr/bin.  Have a look there..PPPerl has some \*(L"mammut\*(R" C files.  If gcc reports \*(L"internalcompiler error: program cc1 got fatal signal 10\*(R" this is verylikely due to a stack overflow in program cc1. Find cc1 and fix its stack.  I have made good experiences with.PP.Vb 1\&        fixstk 2 cc1.Ve.PPThis doesn't establish a stack of 2 Bytes only as you mightthink.  It really reserves one half of the available memoryfor cc1's stack.  A setting of 1 would reserve the entirememory for cc1, 3 would reserve three fourths.  You will haveto find out the value that suits to your system yourself..PPTo find out the location of the program \*(L"cc1\*(R" simply type`gcc \-\-print\-prog\-name cc1' at your shell prompt..PPNow run make (maybe \*(L"make \-k\*(R").  If you get a fatal signal 10 increase cc1's stacksize, if you run out of memory you should either decrease the stacksize or follow some more hints:.PPPerl's building process is very handy on machines with a lotof virtual memory but may result in a disaster if you are shortof memory.  If gcc fails to compile many source files you shouldreduce the optimization.  Grep for \*(L"optimize\*(R" in the fileconfig.sh and change the flags..PPIf only several huge files cause problems (actually it is not amatter of the file size resp. the amount of code but depends onthe size of the individual functions) it is useful to bypassthe make program and compile these files directly from thecommand line.  For example if you got something like thefollowing from make:.PP.Vb 3\&        CCCMD = gcc \-DPERL_CORE ....\&        ...\&        ...: virtual memory exhausted.Ve.PPyou should hack into the shell:.PP.Vb 1\&        gcc \-DPERL_CORE ... toke.c.Ve.PPPlease note that you have to add the name of the source file(here toke.c) at the end..PPIf none of this helps, you're helpless.  Wait for a binaryrelease.  If you have succeeded you may encounter another problemat the linking process.  If gcc complains that it can't findsome libraries within the perl distribution you probably havean old linker.  If it complains for example about \*(L"file notfound for xxx.olb\*(R" you should cd into the directory inquestion and.PP.Vb 1\&        ln \-s libxxx.a xxx.olb.Ve.PPThis will fix the problem..PPThis version (5.00402) of perl has passed most of the tests on my system:.PP.Vb 10\& Failed Test  Status Wstat Total Fail  Failed  List of failed\& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\& io/pipe.t                    10    2  20.00%  7, 9\& io/tell.t                    13    1   7.69%  12\& lib/complex.t               762   13   1.71%  84\-85, 248\-251, 257, 272\-273,\&                                               371, 380, 419\-420\& lib/io_pipe.t                10    1  10.00%  9\& lib/io_tell.t                13    1   7.69%  12\& op/magic.t                   30    2   6.67%  29\-30\& Failed 6/152 test scripts, 96.05% okay. 20/4359 subtests failed, 99.54% okay..Ve.PPPipes always cause problems with MiNT, it's actually a surprise thatmost of the tests did work.  I've got no idea why the \*(L"tell\*(R" test failed,this shouldn't mean too big a problem however..PPMost of the failures of lib/complex seem to be harmless, actually errorsfar right to the decimal point...  Two failures seem to be serious:The sign of the results is reversed.  I would say that this is dueto minor bugs in the portable math lib that I compiled perl with..PPI haven't bothered very much to find the reason for the failureswith op/magic.t and op/stat.t.  Maybe you'll find it out..PP##########################################################################.PPAnother possible problem may arise from the implementation of the \*(L"pwd\*(R" command.  It happened to add a carriage return and newline to its output no matter what the setting of \f(CW$UNIXMODE\fR is.  This is quite annoying since manylibrary modules for perl take the output of pwd, chop off thetrailing newline character and then expect to see a valid path inthat.  But the carriage return (last but second character!) isn'tchopped off.  You can either try to patch all library modules (atthe price of performance for the extra transformation) or you canuse my version of pwd that doesn't suffer from this deficiency..PPThe fixed implementation is in the mint subdirectory.  Running\&\*(L"Configure\*(R" will attempt to build and install it if necessary(hints/mint.sh will do this work) but you can build and install itexplicitly by:.PP.Vb 2\&        cd mint\&        make install.Ve.PPThis is the fastest solution..PPJust in case you want to go the hard way: perl won't even build with abroken pwd!  You will have to fix the library modules(ext/POSIX/POSIX.pm, lib/Cwd.pm, lib/pwd.pl) at last after buildingminiperl..PPA major nuisance of current MiNTLib versions is the implementationof \fIsystem()\fR which is far from being \s-1POSIX\s0 compliant.  A real \fIsystem()\fRshould fork and then exec /bin/sh with its argument as a commandline to the shell.  The MiNTLib \fIsystem()\fR however doesn't expectthat every user has a \s-1POSIX\s0 shell in /bin/sh.  It tries to workaround the problem by forking and exec'ing the first token in its argumentstring.  To get a little bit of compliance to \s-1POSIX\s0 \fIsystem()\fR ittries to handle at least redirection (\*(L"<\*(R" or \*(L">\*(R") on its own behalf..PPThis isn't a good idea since many programs expect that they canpass a command line to \fIsystem()\fR that exploits all features of a\&\s-1POSIX\s0 shell.  If you use the MiNTLib version of \fIsystem()\fR withperl the Perl function \fIsystem()\fR will suffer from the same deficiencies..PPYou will find a fixed version of \fIsystem()\fR in the mint subdirectory.You can easily insert this version into your system libc:.PP.Vb 4\&        cd mint\&        make system.o\&        ar r /usr/lib/libc.a\&        ranlib /usr/lib/libc.a.Ve.PPIf you are suspicious you should either back up your libc beforeor extract the original system.o from your libc with \&\*(L"ar x /usr/lib/libc.a system.o\*(R".  You can then backup the system.omodule somewhere before you succeed..PPAnything missing?  Yep, I've almost forgotten...  No file in this distribution without a fine saying.  Take this one:.PP.Vb 11\&        "From a thief you should learn: (1) to work at night;\&        (2) if one cannot gain what one wants in one night to\&        try again the next night; (3) to love one\*(Aqs coworkers\&        just as thieves love each other; (4) to be willing to\&        risk one\*(Aqs life even for a little thing; (5) not to \&        attach too much value to things even though one has \&        risked one\*(Aqs life for them \- just as a thief will resell\&        a stolen article for a fraction of its real value; \&        (6) to withstand all kinds of beatings and tortures\&        but to remain what you are; and (7) to believe your\&        work is worthwhile and not be willing to change it."\&\&                        \-\- Rabbi Dov Baer, Maggid of Mezeritch.Ve.PP\&\s-1OK\s0, this was my motto while working on Perl for MiNT, especially rule (1)....PPHave fun with Perl!.SH "AUTHOR".IX Header "AUTHOR"Guido Flohr.PP.Vb 1\&        mailto:guido@FreeMiNT.de.Ve

⌨️ 快捷键说明

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