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

📄 perl5005delta.1

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 1
📖 第 1 页 / 共 4 页
字号:
.Sh "Licensing".IX Subsection "Licensing"Perl has a new Social Contract for contributors.  See \fIPorting/Contract\fR..PPThe license included in much of the Perl documentation has changed.Most of the Perl documentation was previously under the implicit \s-1GNU\s0General Public License or the Artistic License (at the user's choice).Now much of the documentation unambiguously states the terms under whichit may be distributed.  Those terms are in general much less restrictivethan the \s-1GNU\s0 \s-1GPL\s0.  See perl and the individual perl manpages listedtherein..SH "Core Changes".IX Header "Core Changes".Sh "Threads".IX Subsection "Threads"\&\s-1WARNING:\s0 Threading is considered an \fBexperimental\fR feature.  Details of theimplementation may change without notice.  There are known limitationsand some bugs.  These are expected to be fixed in future versions..PPSee \fI\s-1README\s0.threads\fR..Sh "Compiler".IX Subsection "Compiler"\&\s-1WARNING:\s0 The Compiler and related tools are considered \fBexperimental\fR.Features may change without notice, and there are known limitationsand bugs.  Since the compiler is fully external to perl, the defaultconfiguration will build and install it..PPThe Compiler produces three different types of transformations of aperl program.  The C backend generates C code that captures perl's statejust before execution begins.  It eliminates the compile-time overheadsof the regular perl interpreter, but the run-time performance remainscomparatively the same.  The \s-1CC\s0 backend generates optimized C codeequivalent to the code path at run-time.  The \s-1CC\s0 backend has greaterpotential for big optimizations, but only a few optimizations areimplemented currently.  The Bytecode backend generates a platformindependent bytecode representation of the interpreter's statejust before execution.  Thus, the Bytecode back end also eliminatesmuch of the compilation overhead of the interpreter..PPThe compiler comes with several valuable utilities..PP\&\f(CW\*(C`B::Lint\*(C'\fR is an experimental module to detect and warn about suspiciouscode, especially the cases that the \f(CW\*(C`\-w\*(C'\fR switch does not detect..PP\&\f(CW\*(C`B::Deparse\*(C'\fR can be used to demystify perl code, and understandhow perl optimizes certain constructs..PP\&\f(CW\*(C`B::Xref\*(C'\fR generates cross reference reports of all definition and useof variables, subroutines and formats in a program..PP\&\f(CW\*(C`B::Showlex\*(C'\fR show the lexical variables used by a subroutine or fileat a glance..PP\&\f(CW\*(C`perlcc\*(C'\fR is a simple frontend for compiling perl..PPSee \f(CW\*(C`ext/B/README\*(C'\fR, B, and the respective compiler modules..Sh "Regular Expressions".IX Subsection "Regular Expressions"Perl's regular expression engine has been seriously overhauled, andmany new constructs are supported.  Several bugs have been fixed..PPHere is an itemized summary:.IP "Many new and improved optimizations" 4.IX Item "Many new and improved optimizations"Changes in the \s-1RE\s0 engine:.Sp.Vb 7\&        Unneeded nodes removed;\&        Substrings merged together;\&        New types of nodes to process (SUBEXPR)* and similar expressions\&            quickly, used if the SUBEXPR has no side effects and matches\&            strings of the same length;\&        Better optimizations by lookup for constant substrings;\&        Better search for constants substrings anchored by $ ;.Ve.SpChanges in Perl code using \s-1RE\s0 engine:.Sp.Vb 5\&        More optimizations to s/longer/short/;\&        study() was not working;\&        /blah/ may be optimized to an analogue of index() if $& $\` $\*(Aq not seen;\&        Unneeded copying of matched\-against string removed;\&        Only matched part of the string is copying if $\` $\*(Aq were not seen;.Ve.IP "Many bug fixes" 4.IX Item "Many bug fixes"Note that only the major bug fixes are listed here.  See \fIChanges\fR for others..Sp.Vb 10\&        Backtracking might not restore start of $3.\&        No feedback if max count for * or + on "complex" subexpression\&            was reached, similarly (but at compile time) for {3,34567}\&        Primitive restrictions on max count introduced to decrease a \&            possibility of a segfault;\&        (ZERO\-LENGTH)* could segfault;\&        (ZERO\-LENGTH)* was prohibited;\&        Long REs were not allowed;\&        /RE/g could skip matches at the same position after a \&          zero\-length match;.Ve.IP "New regular expression constructs" 4.IX Item "New regular expression constructs"The following new syntax elements are supported:.Sp.Vb 8\&        (?<=RE)\&        (?<!RE)\&        (?{ CODE })\&        (?i\-x)\&        (?i:RE)\&        (?(COND)YES_RE|NO_RE)\&        (?>RE)\&        \ez.Ve.IP "New operator for precompiled regular expressions" 4.IX Item "New operator for precompiled regular expressions"See "New \f(CW\*(C`qr//\*(C'\fR operator"..IP "Other improvements" 4.IX Item "Other improvements".Vb 7\&        Better debugging output (possibly with colors),\&            even from non\-debugging Perl;\&        RE engine code now looks like C, not like assembler;\&        Behaviour of RE modifiable by \`use re\*(Aq directive;\&        Improved documentation;\&        Test suite significantly extended;\&        Syntax [:^upper:] etc., reserved inside character classes;.Ve.IP "Incompatible changes" 4.IX Item "Incompatible changes".Vb 4\&        (?i) localized inside enclosing group;\&        $( is not interpolated into RE any more;\&        /RE/g may match at the same position (with non\-zero length)\&            after a zero\-length match (bug fix)..Ve.PPSee perlre and perlop..Sh "Improved \fImalloc()\fP".IX Subsection "Improved malloc()"See banner at the beginning of \f(CW\*(C`malloc.c\*(C'\fR for details..Sh "Quicksort is internally implemented".IX Subsection "Quicksort is internally implemented"Perl now contains its own highly optimized \fIqsort()\fR routine.  The new \fIqsort()\fRis resistant to inconsistent comparison functions, so Perl's \f(CW\*(C`sort()\*(C'\fR willnot provoke coredumps any more when given poorly written sort subroutines.(Some C library \f(CW\*(C`qsort()\*(C'\fRs that were being used before used to have thisproblem.)  In our testing, the new \f(CW\*(C`qsort()\*(C'\fR required the minimal numberof pair-wise compares on average, among all known \f(CW\*(C`qsort()\*(C'\fR implementations..PPSee \f(CW\*(C`perlfunc/sort\*(C'\fR..Sh "Reliable signals".IX Subsection "Reliable signals"Perl's signal handling is susceptible to random crashes, because signalsarrive asynchronously, and the Perl runtime is not reentrant at arbitrarytimes..PPHowever, one experimental implementation of reliable signals is availablewhen threads are enabled.  See \f(CW\*(C`Thread::Signal\*(C'\fR.  Also see \fI\s-1INSTALL\s0\fR forhow to build a Perl capable of threads..Sh "Reliable stack pointers".IX Subsection "Reliable stack pointers"The internals now reallocate the perl stack only at predictable times.In particular, magic calls never trigger reallocations of the stack,because all reentrancy of the runtime is handled using a \*(L"stack of stacks\*(R".This should improve reliability of cached stack pointers in the internalsand in XSUBs..Sh "More generous treatment of carriage returns".IX Subsection "More generous treatment of carriage returns"Perl used to complain if it encountered literal carriage returns inscripts.  Now they are mostly treated like whitespace within program text.Inside string literals and here documents, literal carriage returns areignored if they occur paired with linefeeds, or get interpreted as whitespaceif they stand alone.  This behavior means that literal carriage returnsin files should be avoided.  You can get the older, more compatible (butless generous) behavior by defining the preprocessor symbol\&\f(CW\*(C`PERL_STRICT_CR\*(C'\fR when building perl.  Of course, all this has nothingwhatever to do with how escapes like \f(CW\*(C`\er\*(C'\fR are handled within strings..PPNote that this doesn't somehow magically allow you to keep all text filesin \s-1DOS\s0 format.  The generous treatment only applies to files that perlitself parses.  If your C compiler doesn't allow carriage returns infiles, you may still be unable to build modules that need a C compiler..Sh "Memory leaks".IX Subsection "Memory leaks"\&\f(CW\*(C`substr\*(C'\fR, \f(CW\*(C`pos\*(C'\fR and \f(CW\*(C`vec\*(C'\fR don't leak memory anymore when used in lvaluecontext.  Many small leaks that impacted applications that embed multipleinterpreters have been fixed..Sh "Better support for multiple interpreters".IX Subsection "Better support for multiple interpreters"The build-time option \f(CW\*(C`\-DMULTIPLICITY\*(C'\fR has had many of the detailsreworked.  Some previously global variables that should have beenper-interpreter now are.  With care, this allows interpreters to calleach other.  See the \f(CW\*(C`PerlInterp\*(C'\fR extension on \s-1CPAN\s0..Sh "Behavior of \fIlocal()\fP on array and hash elements is now well-defined".IX Subsection "Behavior of local() on array and hash elements is now well-defined"See \*(L"Temporary Values via \fIlocal()\fR\*(R" in perlsub..ie n .Sh """%!"" is transparently tied to the Errno module".el .Sh "\f(CW%!\fP is transparently tied to the Errno module".IX Subsection "%! is transparently tied to the Errno module"See perlvar, and Errno..Sh "Pseudo-hashes are supported".IX Subsection "Pseudo-hashes are supported"See perlref..ie n .Sh """EXPR foreach EXPR"" is supported".el .Sh "\f(CWEXPR foreach EXPR\fP is supported".IX Subsection "EXPR foreach EXPR is supported"See perlsyn..Sh "Keywords can be globally overridden".IX Subsection "Keywords can be globally overridden"See perlsub..ie n .Sh "$^E is meaningful on Win32".el .Sh "\f(CW$^E\fP is meaningful on Win32".IX Subsection "$^E is meaningful on Win32"See perlvar..ie n .Sh """foreach (1..1000000)"" optimized".el .Sh "\f(CWforeach (1..1000000)\fP optimized".IX Subsection "foreach (1..1000000) optimized"\&\f(CW\*(C`foreach (1..1000000)\*(C'\fR is now optimized into a counting loop.  It doesnot try to allocate a 1000000\-size list anymore..ie n .Sh """Foo::"" can be used as implicitly quoted package name".el .Sh "\f(CWFoo::\fP can be used as implicitly quoted package name".IX Subsection "Foo:: can be used as implicitly quoted package name"Barewords caused unintuitive behavior when a subroutine with the samename as a package happened to be defined.  Thus, \f(CW\*(C`new Foo @args\*(C'\fR,use the result of the call to \f(CW\*(C`Foo()\*(C'\fR instead of \f(CW\*(C`Foo\*(C'\fR being treatedas a literal.  The recommended way to write barewords in the indirectobject slot is \f(CW\*(C`new Foo:: @args\*(C'\fR.  Note that the method \f(CW\*(C`new()\*(C'\fR iscalled with a first argument of \f(CW\*(C`Foo\*(C'\fR, not \f(CW\*(C`Foo::\*(C'\fR when you do that..ie n .Sh """exists $Foo::{Bar::}"" tests existence of a package".el .Sh "\f(CWexists $Foo::{Bar::}\fP tests existence of a package".IX Subsection "exists $Foo::{Bar::} tests existence of a package"It was impossible to test for the existence of a package withoutactually creating it before.  Now \f(CW\*(C`exists $Foo::{Bar::}\*(C'\fR can beused to test if the \f(CW\*(C`Foo::Bar\*(C'\fR namespace has been created..Sh "Better locale support".IX Subsection "Better locale support"See perllocale..Sh "Experimental support for 64\-bit platforms".IX Subsection "Experimental support for 64-bit platforms"Perl5 has always had 64\-bit support on systems with 64\-bit longs.Starting with 5.005, the beginnings of experimental support for systemswith 32\-bit long and 64\-bit 'long long' integers has been added.If you add \-DUSE_LONG_LONG to your ccflags in config.sh (or manuallydefine it in perl.h) then perl will be built with 'long long' support.There will be many compiler warnings, and the resultant perl may notwork on all systems.  There are many other issues related tothird-party extensions and libraries.  This option exists to allowpeople to work on those issues..Sh "\fIprototype()\fP returns useful results on builtins".IX Subsection "prototype() returns useful results on builtins"See \*(L"prototype\*(R" in perlfunc..Sh "Extended support for exception handling".IX Subsection "Extended support for exception handling"\&\f(CW\*(C`die()\*(C'\fR now accepts a reference value, and \f(CW$@\fR gets set to that

⌨️ 快捷键说明

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