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

📄 perl56delta.pod

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 POD
📖 第 1 页 / 共 5 页
字号:
interpreter threads).  C<use Thread;> continues to be available when youspecify the -Duse5005threads option to Configure, bugs and all.    NOTE: Support for threads continues to be an experimental feature.    Interfaces and implementation are subject to sudden and drastic changes.=head2 New Configure flagsThe following new flags may be enabled on the Configure command lineby running Configure with C<-Dflag>.    usemultiplicity    usethreads useithreads	(new interpreter threads: no Perl API yet)    usethreads use5005threads	(threads as they were in 5.005)    use64bitint			(equal to now deprecated 'use64bits')    use64bitall    uselongdouble    usemorebits    uselargefiles    usesocks			(only SOCKS v5 supported)=head2 Threadedness and 64-bitness now more daringThe Configure options enabling the use of threads and the use of64-bitness are now more daring in the sense that they no more have anexplicit list of operating systems of known threads/64-bitcapabilities.  In other words: if your operating system has thenecessary APIs and datatypes, you should be able just to go ahead anduse them, for threads by Configure -Dusethreads, and for 64 bitseither explicitly by Configure -Duse64bitint or implicitly if yoursystem has 64-bit wide datatypes.  See also L<"64-bit support">.=head2 Long DoublesSome platforms have "long doubles", floating point numbers of evenlarger range than ordinary "doubles".  To enable using long doubles forPerl's scalars, use -Duselongdouble.=head2 -DusemorebitsYou can enable both -Duse64bitint and -Duselongdouble with -Dusemorebits.See also L<"64-bit support">.=head2 -DuselargefilesSome platforms support system APIs that are capable of handling large files(typically, files larger than two gigabytes).  Perl will try to use theseAPIs if you ask for -Duselargefiles.See L<"Large file support"> for more information. =head2 installusrbinperlYou can use "Configure -Uinstallusrbinperl" which causes installperlto skip installing perl also as /usr/bin/perl.  This is useful if youprefer not to modify /usr/bin for some reason or another but harmfulbecause many scripts assume to find Perl in /usr/bin/perl.=head2 SOCKS supportYou can use "Configure -Dusesocks" which causes Perl to probefor the SOCKS proxy protocol library (v5, not v4).  For more informationon SOCKS, see:    http://www.socks.nec.com/=head2 C<-A> flagYou can "post-edit" the Configure variables using the Configure C<-A>switch.  The editing happens immediately after the platform specifichints files have been processed but before the actual configurationprocess starts.  Run C<Configure -h> to find out the full C<-A> syntax.=head2 Enhanced Installation DirectoriesThe installation structure has been enriched to improve the supportfor maintaining multiple versions of perl, to provide locations forvendor-supplied modules, scripts, and manpages, and to ease maintenanceof locally-added modules, scripts, and manpages.  See the section onInstallation Directories in the INSTALL file for complete details.For most users building and installing from source, the defaults shouldbe fine.If you previously used C<Configure -Dsitelib> or C<-Dsitearch> to setspecial values for library directories, you might wish to consider usingthe new C<-Dsiteprefix> setting instead.  Also, if you wish to re-use aconfig.sh file from an earlier version of perl, you should be sure tocheck that Configure makes sensible choices for the new directories.See INSTALL for complete details.=head1 Platform specific changes=head2 Supported platforms=over 4=item *The Mach CThreads (NEXTSTEP, OPENSTEP) are now supported by the Threadextension.=item *GNU/Hurd is now supported.=item *Rhapsody/Darwin is now supported.=item *EPOC is now supported (on Psion 5).=item *The cygwin port (formerly cygwin32) has been greatly improved.=back=head2 DOS=over 4=item *Perl now works with djgpp 2.02 (and 2.03 alpha).=item *Environment variable names are not converted to uppercase any more.=item *Incorrect exit codes from backticks have been fixed.=item *This port continues to use its own builtin globbing (not File::Glob).=back=head2 OS390 (OpenEdition MVS)Support for this EBCDIC platform has not been renewed in this release.There are difficulties in reconciling Perl's standardization on UTF-8as its internal representation for characters with the EBCDIC characterset, because the two are incompatible.It is unclear whether future versions will renew support for thisplatform, but the possibility exists.=head2 VMSNumerous revisions and extensions to configuration, build, testing, andinstallation process to accommodate core changes and VMS-specific options.Expand %ENV-handling code to allow runtime mapping to logical names,CLI symbols, and CRTL environ array.Extension of subprocess invocation code to accept filespecs as command"verbs".Add to Perl command line processing the ability to use default file types andto recognize Unix-style C<2E<gt>&1>.Expansion of File::Spec::VMS routines, and integration into ExtUtils::MM_VMS.Extension of ExtUtils::MM_VMS to handle complex extensions more flexibly.Barewords at start of Unix-syntax paths may be treated as text rather thanonly as logical names.Optional secure translation of several logical names used internally by Perl.Miscellaneous bugfixing and porting of new core code to VMS.Thanks are gladly extended to the many people who have contributed VMSpatches, testing, and ideas.=head2 Win32Perl can now emulate fork() internally, using multiple interpreters runningin different concurrent threads.  This support must be enabled at buildtime.  See L<perlfork> for detailed information.When given a pathname that consists only of a drivename, such as C<A:>,opendir() and stat() now use the current working directory for the driverather than the drive root.The builtin XSUB functions in the Win32:: namespace are documented.  SeeL<Win32>.$^X now contains the full path name of the running executable.A Win32::GetLongPathName() function is provided to complementWin32::GetFullPathName() and Win32::GetShortPathName().  See L<Win32>.POSIX::uname() is supported.system(1,...) now returns true process IDs rather than processhandles.  kill() accepts any real process id, rather than strictlyreturn values from system(1,...).For better compatibility with Unix, C<kill(0, $pid)> can now be used totest whether a process exists.The C<Shell> module is supported.Better support for building Perl under command.com in Windows 95has been added.Scripts are read in binary mode by default to allow ByteLoader (andthe filter mechanism in general) to work properly.  For compatibility,the DATA filehandle will be set to text mode if a carriage return isdetected at the end of the line containing the __END__ or __DATA__token; if not, the DATA filehandle will be left open in binary mode.Earlier versions always opened the DATA filehandle in text mode.The glob() operator is implemented via the C<File::Glob> extension,which supports glob syntax of the C shell.  This increases the flexibilityof the glob() operator, but there may be compatibility issues forprograms that relied on the older globbing syntax.  If you want topreserve compatibility with the older syntax, you might want to runperl with C<-MFile::DosGlob>.  For details and compatibility information,see L<File::Glob>.=head1 Significant bug fixes=head2 <HANDLE> on empty filesWith C<$/> set to C<undef>, "slurping" an empty file returns a string ofzero length (instead of C<undef>, as it used to) the first time theHANDLE is read after C<$/> is set to C<undef>.  Further reads yieldC<undef>.This means that the following will append "foo" to an empty file (it usedto do nothing):    perl -0777 -pi -e 's/^/foo/' empty_fileThe behaviour of:    perl -pi -e 's/^/foo/' empty_fileis unchanged (it continues to leave the file empty).=head2 C<eval '...'> improvementsLine numbers (as reflected by caller() and most diagnostics) withinC<eval '...'> were often incorrect where here documents were involved.This has been corrected.Lexical lookups for variables appearing in C<eval '...'> withinfunctions that were themselves called within an C<eval '...'> weresearching the wrong place for lexicals.  The lexical search nowcorrectly ends at the subroutine's block boundary.The use of C<return> within C<eval {...}> caused $@ not to be resetcorrectly when no exception occurred within the eval.  This hasbeen fixed.Parsing of here documents used to be flawed when they appeared asthe replacement expression in C<eval 's/.../.../e'>.  This hasbeen fixed.=head2 All compilation errors are true errorsSome "errors" encountered at compile time were by necessity generated as warnings followed by eventual termination of theprogram.  This enabled more such errors to be reported in asingle run, rather than causing a hard stop at the first errorthat was encountered.The mechanism for reporting such errors has been reimplementedto queue compile-time errors and report them at the end of thecompilation as true errors rather than as warnings.  This fixescases where error messages leaked through in the form of warningswhen code was compiled at run time using C<eval STRING>, andalso allows such errors to be reliably trapped using C<eval "...">.=head2 Implicitly closed filehandles are saferSometimes implicitly closed filehandles (as when they are localized,and Perl automatically closes them on exiting the scope) couldinadvertently set $? or $!.  This has been corrected.=head2 Behavior of list slices is more consistentWhen taking a slice of a literal list (as opposed to a slice ofan array or hash), Perl used to return an empty list if theresult happened to be composed of all undef values.The new behavior is to produce an empty list if (and only if)the original list was empty.  Consider the following example:    @a = (1,undef,undef,2)[2,1,2];The old behavior would have resulted in @a having no elements.The new behavior ensures it has three undefined elements.Note in particular that the behavior of slices of the followingcases remains unchanged:    @a = ()[1,2];    @a = (getpwent)[7,0];    @a = (anything_returning_empty_list())[2,1,2];    @a = @b[2,1,2];    @a = @c{'a','b','c'};See L<perldata>.=head2 C<(\$)> prototype and C<$foo{a}>A scalar reference prototype now correctly allows a hash orarray element in that slot.=head2 C<goto &sub> and AUTOLOADThe C<goto &sub> construct works correctly when C<&sub> happensto be autoloaded.=head2 C<-bareword> allowed under C<use integer>The autoquoting of barewords preceded by C<-> did not workin prior versions when the C<integer> pragma was enabled.This has been fixed.=head2 Failures in DESTROY()When code in a destructor threw an exception, it went unnoticedin earlier versions of Perl, unless someone happened to belooking in $@ just after the point the destructor happened torun.  Such failures are now visible as warnings when warnings areenabled.=head2 Locale bugs fixedprintf() and sprintf() previously reset the numeric localeback to the default "C" locale.  This has been fixed.Numbers formatted according to the local numeric locale(such as using a decimal comma instead of a decimal dot) caused"isn't numeric" warnings, even while the operations accessingthose numbers produced correct results.  These warnings have beendiscontinued.=head2 Memory leaksThe C<eval 'return sub {...}'> construct could sometimes leakmemory.  This has been fixed.Operations that aren't filehandle constructors used to leak memorywhen used on invalid filehandles.  This has been fixed.Constructs that modified C<@_> could fail to deallocate valuesin C<@_> and thus leak memory.  This has been corrected.=head2 Spurious subroutine stubs after failed subroutine callsPerl could sometimes create empty subroutine stubs when asubroutine was not found in the

⌨️ 快捷键说明

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