📄 perl571delta.1
字号:
.IP "\(bu" 4If you are on \s-1IRIX\s0 or Tru64 platforms, new profiling/debugging optionshave been added, see perlhack for more information about pixie andThird Degree..Sh "New Or Improved Platforms".IX Subsection "New Or Improved Platforms"For the list of platforms known to support Perl,see \*(L"Supported Platforms\*(R" in perlport..IP "\(bu" 4\&\s-1AIX\s0 dynamic loading should be now better supported..IP "\(bu" 4After a long pause, AmigaOS has been verified to be happy with Perl..IP "\(bu" 4\&\s-1EBCDIC\s0 platforms (z/OS, also known as \s-1OS/390\s0, POSIX-BC, and \s-1VM/ESA\s0)have been regained. Many test suite tests still fail and theco-existence of Unicode and \s-1EBCDIC\s0 isn't quite settled, but thesituation is much better than with Perl 5.6. See perlos390,perlbs2000 (for POSIX-BC), and perlvmesa for more information..IP "\(bu" 4Building perl with \-Duseithreads or \-Duse5005threads now works underHP-UX 10.20 (previously it only worked under 10.30 or later). You willneed a thread library package installed. See \s-1README\s0.hpux..IP "\(bu" 4Mac \s-1OS\s0 Classic (MacPerl has of course been available sinceperl 5.004 but now the source code bases of standard Perland MacPerl have been synchronised).IP "\(bu" 4\&\s-1NCR\s0 MP-RAS is now supported..IP "\(bu" 4NonStop-UX is now supported..IP "\(bu" 4Amdahl \s-1UTS\s0 is now supported..IP "\(bu" 4z/OS (formerly known as \s-1OS/390\s0, formerly known as \s-1MVS\s0 \s-1OE\s0) has nowsupport for dynamic loading. This is not selected by default,however, you must specify \-Dusedl in the arguments of Configure..Sh "Generic Improvements".IX Subsection "Generic Improvements".IP "\(bu" 4Configure no longer includes the \s-1DBM\s0 libraries (dbm, gdbm, db, ndbm)when building the Perl binary. The only exception to this is SunOS 4.x,which needs them..IP "\(bu" 4Some new Configure symbols, useful for extension writers:.RS 4.IP "d_cmsghdr" 8.IX Item "d_cmsghdr"For struct cmsghdr..IP "d_fcntl_can_lock" 8.IX Item "d_fcntl_can_lock"Whether \fIfcntl()\fR can be used for file locking..IP "d_fsync" 8.IX Item "d_fsync".PD 0.IP "d_getitimer" 8.IX Item "d_getitimer".IP "d_getpagsz" 8.IX Item "d_getpagsz".PDFor \fIgetpagesize()\fR, though you should prefer POSIX::sysconf(_SC_PAGE_SIZE)).IP "d_msghdr_s" 8.IX Item "d_msghdr_s"For struct msghdr..IP "need_va_copy" 8.IX Item "need_va_copy"Whether one needs to use \fIPerl_va_copy()\fR to copy varargs..IP "d_readv" 8.IX Item "d_readv".PD 0.IP "d_recvmsg" 8.IX Item "d_recvmsg".IP "d_sendmsg" 8.IX Item "d_sendmsg".IP "sig_size" 8.IX Item "sig_size".PDThe number of elements in an array needed to hold all the available signals..IP "d_sockatmark" 8.IX Item "d_sockatmark".PD 0.IP "d_strtoq" 8.IX Item "d_strtoq".IP "d_u32align" 8.IX Item "d_u32align".PDWhether one needs to access character data aligned by U32 sized pointers..IP "d_ualarm" 8.IX Item "d_ualarm".PD 0.IP "d_usleep" 8.IX Item "d_usleep".RE.RS 4.RE.IP "\(bu" 4.PDRemoved Configure symbols: the \s-1PDP\-11\s0 memory model settings: huge,large, medium, models..IP "\(bu" 4\&\s-1SOCKS\s0 support is now much more robust..IP "\(bu" 4If your file system supports symbolic links you can build Perl outsideof the source directory by.Sp.Vb 3\& mkdir perl/build/directory\& cd perl/build/directory\& sh /path/to/perl/source/Configure \-Dmksymlinks ....Ve.SpThis will create in perl/build/directory a tree of symbolic linkspointing to files in /path/to/perl/source. The original files are leftunaffected. After Configure has finished you can just say.Sp.Vb 1\& make all test.Ve.Spand Perl will be built and tested, all in perl/build/directory..SH "Selected Bug Fixes".IX Header "Selected Bug Fixes"Numerous memory leaks and uninitialized memory accesses have been hunted down.Most importantly anonymous subs used to leak quite a bit..IP "\(bu" 4chop(@list) in list context returned the characters chopped inreverse order. This has been reversed to be in the right order..IP "\(bu" 4The order of DESTROYs has been made more predictable..IP "\(bu" 4\&\fImkdir()\fR now ignores trailing slashes in the directory name,as mandated by \s-1POSIX\s0..IP "\(bu" 4Attributes (like :shared) didn't work with \fIour()\fR..IP "\(bu" 4The \s-1PERL5OPT\s0 environment variable (for passing command line argumentsto Perl) didn't work for more than a single group of options..IP "\(bu" 4The tainting behaviour of \fIsprintf()\fR has been rationalized. It doesnot taint the result of floating point formats anymore, making thebehaviour consistent with that of string interpolation..IP "\(bu" 4All but the first argument of the \s-1IO\s0 \fIsyswrite()\fR method are now optional..IP "\(bu" 4Tie::ARRAY \s-1SPLICE\s0 method was broken..IP "\(bu" 4\&\fIvec()\fR now tries to work with characters <= 255 when possible, but it leaveshigher character values in place. In that case, if \fIvec()\fR was used to modifythe string, it is no longer considered to be utf8\-encoded..Sh "Platform Specific Changes and Fixes".IX Subsection "Platform Specific Changes and Fixes".IP "\(bu" 4Linux previously had problems related to sockaddrlen when using\&\fIaccept()\fR, \fIrevcfrom()\fR (in Perl: \fIrecv()\fR), \fIgetpeername()\fR, and \fIgetsockname()\fR..IP "\(bu" 4Previously DYNIX/ptx had problems in its Configure probe for non-blocking I/O..IP "\(bu" 4Windows.RS 4.IP "\(bu" 8Borland \*(C+ v5.5 is now a supported compiler that can build Perl.However, the generated binaries continue to be incompatible with thosegenerated by the other supported compilers (\s-1GCC\s0 and Visual \*(C+)..IP "\(bu" 8\&\fIWin32::GetCwd()\fR correctly returns C:\e instead of C: when at the drive root.Other bugs in \fIchdir()\fR and \fICwd::cwd()\fR have also been fixed..IP "\(bu" 8Duping socket handles with open(F, \*(L">&MYSOCK\*(R") now works under Windows 9x..IP "\(bu" 8\&\s-1HTML\s0 files will be installed in c:\eperl\ehtml instead of c:\eperl\elib\epod\ehtml.IP "\(bu" 8The makefiles now provide a single switch to bulk-enable all the featuresenabled in ActiveState ActivePerl (a popular binary distribution)..RE.RS 4.RE.SH "New or Changed Diagnostics".IX Header "New or Changed Diagnostics"Two new debugging options have been added: if you have compiled yourPerl with debugging, you can use the \-DT and \-DR options to tracetokenising and to add reference counts to displaying variables,respectively..IP "\(bu" 4If an attempt to use a (non-blessed) reference as an array indexis made, a warning is given..IP "\(bu" 4\&\f(CW\*(C`push @a;\*(C'\fR and \f(CW\*(C`unshift @a;\*(C'\fR (with no values to push or unshift)now give a warning. This may be a problem for generated and eval'edcode..SH "Changed Internals".IX Header "Changed Internals".IP "\(bu" 4Some new APIs: \fIptr_table_clear()\fR, \fIptr_table_free()\fR, \fIsv_setref_uv()\fR.For the full list of the available APIs see perlapi..IP "\(bu" 4dTHR and djSP have been obsoleted; the former removed (because it'sa no-op) and the latter replaced with dSP..IP "\(bu" 4Perl now uses system malloc instead of Perl malloc on all 64\-bitplatforms, and even in some not\-always\-64\-bit platforms like \s-1AIX\s0,\&\s-1IRIX\s0, and Solaris. This change breaks backward compatibility butPerl's malloc has problems with large address spaces and also thespeed of vendors' malloc is generally better in large address spacemachines (Perl's malloc is mostly tuned for space)..SH "New Tests".IX Header "New Tests"Many new tests have been added. The most notable is probably thelib/1_compile: it is very notable because running it takes quite along time \*(-- it test compiles all the Perl modules in the distribution.Please be patient..SH "Known Problems".IX Header "Known Problems"Note that unlike other sections in this document (which describechanges since 5.7.0) this section is cumulative containing knownproblems for all the 5.7 releases..Sh "\s-1AIX\s0 vac 5.0.0.0 May Produce Buggy Code For Perl".IX Subsection "AIX vac 5.0.0.0 May Produce Buggy Code For Perl"The \s-1AIX\s0 C compiler vac version 5.0.0.0 may produce buggy code,resulting in few random tests failing, but when the failing testsare run by hand, they succeed. We suggest upgrading to at leastvac version 5.0.1.0, that has been known to compile Perl correctly.\&\*(L"lslpp \-L|grep vac.C\*(R" will tell you the vac version..Sh "lib/ftmp\-security tests warn 'system possibly insecure'".IX Subsection "lib/ftmp-security tests warn 'system possibly insecure'"Don't panic. Read \s-1INSTALL\s0 'make test' section instead..Sh "lib/io_multihomed Fails In LP64\-Configured HP-UX".IX Subsection "lib/io_multihomed Fails In LP64-Configured HP-UX"The lib/io_multihomed test may hang in HP-UX if Perl has beenconfigured to be 64\-bit. Because other 64\-bit platforms do not hang inthis test, HP-UX is suspect. All other tests pass in 64\-bit HP-UX. Thetest attempts to create and connect to \*(L"multihomed\*(R" sockets (socketswhich have multiple \s-1IP\s0 addresses)..Sh "Test lib/posix Subtest 9 Fails In LP64\-Configured HP-UX".IX Subsection "Test lib/posix Subtest 9 Fails In LP64-Configured HP-UX"If perl is configured with \-Duse64bitall, the successful result of thesubtest 10 of lib/posix may arrive before the successful result of thesubtest 9, which confuses the test harness so much that it thinks thesubtest 9 failed..Sh "lib/b test 19".IX Subsection "lib/b test 19"The test fails on various platforms (\s-1PA64\s0 and \s-1IA64\s0 are known), but theexact cause is still being investigated..Sh "Linux With Sfio Fails op/misc Test 48".IX Subsection "Linux With Sfio Fails op/misc Test 48"No known fix..Sh "sigaction test 13 in \s-1VMS\s0".IX Subsection "sigaction test 13 in VMS"The test is known to fail; whether it's because of \s-1VMS\s0 of becauseof faulty test is not known..Sh "sprintf tests 129 and 130".IX Subsection "sprintf tests 129 and 130"The op/sprintf tests 129 and 130 are known to fail on some platforms.Examples include any platform using sfio, and Compaq/Tandem's NonStop-UX.The failing platforms do not comply with the \s-1ANSI\s0 C Standard, line19ff on page 134 of \s-1ANSI\s0 X3.159 1989 to be exact. (They producesomething else than \*(L"1\*(R" and \*(L"\-1\*(R" when formatting 0.6 and \-0.6 usingthe printf format \*(L"%.0f\*(R", most often they produce \*(L"0\*(R" and \*(L"\-0\*(R".).Sh "Failure of Thread tests".IX Subsection "Failure of Thread tests"The subtests 19 and 20 of lib/thr5005.t test are known to fail due tofundamental problems in the 5.005 threading implementation. These arenot new failures\*(--Perl 5.005_0x has the same bugs, but didn't havethese tests. (Note that support for 5.005\-style threading remainsexperimental.).Sh "Localising a Tied Variable Leaks Memory".IX Subsection "Localising a Tied Variable Leaks Memory".Vb 2\& use Tie::Hash;\& tie my %tie_hash => \*(AqTie::StdHash\*(Aq;\&\& ...\&\& local($tie_hash{Foo}) = 1; # leaks.Ve.PPCode like the above is known to leak memory every time the \fIlocal()\fRis executed..Sh "Self-tying of Arrays and Hashes Is Forbidden".IX Subsection "Self-tying of Arrays and Hashes Is Forbidden"Self-tying of arrays and hashes is broken in rather deep andhard-to-fix ways. As a stop-gap measure to avoid people from gettingfrustrated at the mysterious results (core dumps, most often) it isfor now forbidden (you will get a fatal error even from an attempt)..Sh "Building Extensions Can Fail Because Of Largefiles".IX Subsection "Building Extensions Can Fail Because Of Largefiles"Some extensions like mod_perl are known to have issues with`largefiles', a change brought by Perl 5.6.0 in which file offsetsdefault to 64 bits wide, where supported. Modules may fail to compileat all or compile and work incorrectly. Currently there is no goodsolution for the problem, but Configure now provides appropriatenon-largefile ccflags, ldflags, libswanted, and libs in the \f(CW%Config\fRhash (e.g., \f(CW$Config\fR{ccflags_nolargefiles}) so the extensions that arehaving problems can try configuring themselves without thelargefileness. This is admittedly not a clean solution, and thesolution may not even work at all. One potential failure is whetherone can (or, if one can, whether it's a good idea) link together atall binaries with different ideas about file offsets, all this isplatform-dependent..Sh "The Compiler Suite Is Still Experimental".IX Subsection "The Compiler Suite Is Still Experimental"The compiler suite is slowly getting better but is nowhere nearworking order yet..SH "Reporting Bugs".IX Header "Reporting Bugs"If you find what you think is a bug, you might check the articlesrecently posted to the comp.lang.perl.misc newsgroup and the perlbug database at http://bugs.perl.org/ There may also beinformation at http://www.perl.com/perl/ , the Perl Home Page..PPIf you believe you have an unreported bug, please run the \fBperlbug\fRprogram included with your release. Be sure to trim your bug downto a tiny but sufficient test case. Your bug report, along with theoutput of \f(CW\*(C`perl \-V\*(C'\fR, will be sent off to perlbug@perl.org to beanalysed by the Perl porting team..SH "SEE ALSO".IX Header "SEE ALSO"The \fIChanges\fR file for exhaustive details on what changed..PPThe \fI\s-1INSTALL\s0\fR file for how to build Perl..PPThe \fI\s-1README\s0\fR file for general stuff..PPThe \fIArtistic\fR and \fICopying\fR files for copyright information..SH "HISTORY".IX Header "HISTORY"Written by Jarkko Hietaniemi <\fIjhi@iki.fi\fR>, with many contributionsfrom The Perl Porters and Perl Users submitting feedback and patches..PPSend omissions or corrections to <\fIperlbug@perl.org\fR>.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -