📄 perl58delta.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 "PERL58DELTA 1".TH PERL58DELTA 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"perl58delta \- what is new for perl v5.8.0.SH "DESCRIPTION".IX Header "DESCRIPTION"This document describes differences between the 5.6.0 release andthe 5.8.0 release..PPMany of the bug fixes in 5.8.0 were already seen in the 5.6.1maintenance release since the two releases were kept closelycoordinated (while 5.8.0 was still called 5.7.something)..PPChanges that were integrated into the 5.6.1 release are marked \f(CW\*(C`[561]\*(C'\fR.Many of these changes have been further developed since 5.6.1 was released,those are marked \f(CW\*(C`[561+]\*(C'\fR..PPYou can see the list of changes in the 5.6.1 release (both from the5.005_03 release and the 5.6.0 release) by reading perl561delta..SH "Highlights In 5.8.0".IX Header "Highlights In 5.8.0".IP "\(bu" 4Better Unicode support.IP "\(bu" 4New \s-1IO\s0 Implementation.IP "\(bu" 4New Thread Implementation.IP "\(bu" 4Better Numeric Accuracy.IP "\(bu" 4Safe Signals.IP "\(bu" 4Many New Modules.IP "\(bu" 4More Extensive Regression Testing.SH "Incompatible Changes".IX Header "Incompatible Changes".Sh "Binary Incompatibility".IX Subsection "Binary Incompatibility"\&\fBPerl 5.8 is not binary compatible with earlier releases of Perl.\fR.PP\&\fBYou have to recompile your \s-1XS\s0 modules.\fR.PP(Pure Perl modules should continue to work.).PPThe major reason for the discontinuity is the new \s-1IO\s0 architecturecalled PerlIO. PerlIO is the default configuration because withoutit many new features of Perl 5.8 cannot be used. In other words:you just have to recompile your modules containing \s-1XS\s0 code, sorryabout that..PPIn future releases of Perl, non-PerlIO aware \s-1XS\s0 modules may becomecompletely unsupported. This shouldn't be too difficult for moduleauthors, however: PerlIO has been designed as a drop-in replacement(at the source code level) for the stdio interface..PPDepending on your platform, there are also other reasons whywe decided to break binary compatibility, please read on..Sh "64\-bit platforms and malloc".IX Subsection "64-bit platforms and malloc"If your pointers are 64 bits wide, the Perl malloc is no longer beingused because it does not work well with 8\-byte pointers. Also,usually the system mallocs on such platforms are much better optimizedfor such large memory models than the Perl malloc. Some memory-hungryPerl applications like the \s-1PDL\s0 don't work well with Perl's malloc.Finally, other applications than Perl (such as mod_perl) tend to preferthe system malloc. Such platforms include Alpha and 64\-bit \s-1HPPA\s0,\&\s-1MIPS\s0, \s-1PPC\s0, and Sparc..Sh "\s-1AIX\s0 Dynaloading".IX Subsection "AIX Dynaloading"The \s-1AIX\s0 dynaloading now uses in \s-1AIX\s0 releases 4.3 and newer the nativedlopen interface of \s-1AIX\s0 instead of the old emulated interface. Thischange will probably break backward compatibility with compiledmodules. The change was made to make Perl more compliant with otherapplications like mod_perl which are using the \s-1AIX\s0 native interface..ie n .Sh "Attributes for ""my"" variables now handled at run-time".el .Sh "Attributes for \f(CWmy\fP variables now handled at run-time".IX Subsection "Attributes for my variables now handled at run-time"The \f(CW\*(C`my EXPR : ATTRS\*(C'\fR syntax now applies variable attributes atrun-time. (Subroutine and \f(CW\*(C`our\*(C'\fR variables still get attributes appliedat compile-time.) See attributes for additional details. In particular,however, this allows variable attributes to be useful for \f(CW\*(C`tie\*(C'\fR interfaces,which was a deficiency of earlier releases. Note that the new semanticsdoesn't work with the Attribute::Handlers module (as of version 0.76)..Sh "Socket Extension Dynamic in \s-1VMS\s0".IX Subsection "Socket Extension Dynamic in VMS"The Socket extension is now dynamically loaded instead of beingstatically built in. This may or may not be a problem with ancient\&\s-1TCP/IP\s0 stacks of \s-1VMS:\s0 we do not know since we weren't able to testPerl in such configurations..Sh "IEEE-format Floating Point Default on OpenVMS Alpha".IX Subsection "IEEE-format Floating Point Default on OpenVMS Alpha"Perl now uses \s-1IEEE\s0 format (T_FLOAT) as the default internal floatingpoint format on OpenVMS Alpha, potentially breaking binary compatibilitywith external libraries or existing data. G_FLOAT is still available asa configuration option. The default on \s-1VAX\s0 (D_FLOAT) has not changed..ie n .Sh "New Unicode Semantics (no more ""use utf8"", almost)".el .Sh "New Unicode Semantics (no more \f(CWuse utf8\fP, almost)".IX Subsection "New Unicode Semantics (no more use utf8, almost)"Previously in Perl 5.6 to use Unicode one would say \*(L"use utf8\*(R" andthen the operations (like string concatenation) were Unicode-awarein that lexical scope..PPThis was found to be an inconvenient interface, and in Perl 5.8 theUnicode model has completely changed: now the \*(L"Unicodeness\*(R" is boundto the data itself, and for most of the time \*(L"use utf8\*(R" is not neededat all. The only remaining use of \*(L"use utf8\*(R" is when the Perl scriptitself has been written in the \s-1UTF\-8\s0 encoding of Unicode. (\s-1UTF\-8\s0 hasnot been made the default since there are many Perl scripts out therethat are using various national eight-bit character sets, which wouldbe illegal in \s-1UTF\-8\s0.).PPSee perluniintro for the explanation of the current model,and utf8 for the current use of the utf8 pragma..Sh "New Unicode Properties".IX Subsection "New Unicode Properties"Unicode \fIscripts\fR are now supported. Scripts are similar to (and superiorto) Unicode \fIblocks\fR. The difference between scripts and blocks is thatscripts are the glyphs used by a language or a group of languages, whilethe blocks are more artificial groupings of (mostly) 256 characters basedon the Unicode numbering..PPIn general, scripts are more inclusive, but not universally so. Forexample, while the script \f(CW\*(C`Latin\*(C'\fR includes all the Latin characters andtheir various diacritic-adorned versions, it does not include the variouspunctuation or digits (since they are not solely \f(CW\*(C`Latin\*(C'\fR)..PPA number of other properties are now supported, including \f(CW\*(C`\ep{L&}\*(C'\fR,\&\f(CW\*(C`\ep{Any}\*(C'\fR \f(CW\*(C`\ep{Assigned}\*(C'\fR, \f(CW\*(C`\ep{Unassigned}\*(C'\fR, \f(CW\*(C`\ep{Blank}\*(C'\fR [561] and\&\f(CW\*(C`\ep{SpacePerl}\*(C'\fR [561] (along with their \f(CW\*(C`\eP{...}\*(C'\fR versions, of course).See perlunicode for details, and more additions..PPThe \f(CW\*(C`In\*(C'\fR or \f(CW\*(C`Is\*(C'\fR prefix to names used with the \f(CW\*(C`\ep{...}\*(C'\fR and \f(CW\*(C`\eP{...}\*(C'\fRare now almost always optional. The only exception is that a \f(CW\*(C`In\*(C'\fR prefixis required to signify a Unicode block when a block name conflicts with ascript name. For example, \f(CW\*(C`\ep{Tibetan}\*(C'\fR refers to the script, while\&\f(CW\*(C`\ep{InTibetan}\*(C'\fR refers to the block. When there is no name conflict, youcan omit the \f(CW\*(C`In\*(C'\fR from the block name (e.g. \f(CW\*(C`\ep{BraillePatterns}\*(C'\fR), butto be safe, it's probably best to always use the \f(CW\*(C`In\*(C'\fR)..Sh "\s-1REF\s0(...) Instead Of \s-1SCALAR\s0(...)".IX Subsection "REF(...) Instead Of SCALAR(...)"A reference to a reference now stringifies as \*(L"\s-1REF\s0(0x81485ec)\*(R" insteadof \*(L"\s-1SCALAR\s0(0x81485ec)\*(R" in order to be more consistent with the returnvalue of \fIref()\fR..Sh "pack/unpack D/F recycled".IX Subsection "pack/unpack D/F recycled"The undocumented pack/unpack template letters D/F have been recycledfor better use: now they stand for long double (if supported by theplatform) and \s-1NV\s0 (Perl internal floating point type). (They usedto be aliases for d/f, but you never knew that.).Sh "\fIglob()\fP now returns filenames in alphabetical order".IX Subsection "glob() now returns filenames in alphabetical order"The list of filenames from \fIglob()\fR (or <...>) is now by default sortedalphabetically to be csh-compliant (which is what happened before
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -