perl561delta.html

来自「perl教程」· HTML 代码 · 共 1,261 行 · 第 1/5 页

HTML
1,261
字号
<?xml version="1.0" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!-- saved from url=(0017)http://localhost/ -->
<script language="JavaScript" src="../../displayToc.js"></script>
<script language="JavaScript" src="../../tocParas.js"></script>
<script language="JavaScript" src="../../tocTab.js"></script>
<link rel="stylesheet" type="text/css" href="../../scineplex.css">
<title>perl561delta - what's new for perl v5.6.x</title>
<link rel="stylesheet" href="../../Active.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:" />
</head>

<body>

<script>writelinks('__top__',2);</script>
<h1><a>perl561delta - what's new for perl v5.6.x</a></h1>
<p><a name="__index__"></a></p>

<!-- INDEX BEGIN -->

<ul>

	<li><a href="#name">NAME</a></li>
	<li><a href="#description">DESCRIPTION</a></li>
	<li><a href="#summary_of_changes_between_5_6_0_and_5_6_1">Summary of changes between 5.6.0 and 5.6.1</a></li>
	<ul>

		<li><a href="#security_issues">Security Issues</a></li>
		<li><a href="#core_bug_fixes">Core bug fixes</a></li>
		<li><a href="#core_features">Core features</a></li>
		<li><a href="#configuration_issues">Configuration issues</a></li>
		<li><a href="#documentation">Documentation</a></li>
		<li><a href="#bundled_modules">Bundled modules</a></li>
		<li><a href="#platformspecific_improvements">Platform-specific improvements</a></li>
	</ul>

	<li><a href="#core_enhancements">Core Enhancements</a></li>
	<ul>

		<li><a href="#interpreter_cloning__threads__and_concurrency">Interpreter cloning, threads, and concurrency</a></li>
		<li><a href="#lexically_scoped_warning_categories">Lexically scoped warning categories</a></li>
		<li><a href="#unicode_and_utf8_support">Unicode and UTF-8 support</a></li>
		<li><a href="#support_for_interpolating_named_characters">Support for interpolating named characters</a></li>
		<li><a href="#our_declarations">&quot;our&quot; declarations</a></li>
		<li><a href="#support_for_strings_represented_as_a_vector_of_ordinals">Support for strings represented as a vector of ordinals</a></li>
		<li><a href="#improved_perl_version_numbering_system">Improved Perl version numbering system</a></li>
		<li><a href="#new_syntax_for_declaring_subroutine_attributes">New syntax for declaring subroutine attributes</a></li>
		<li><a href="#file_and_directory_handles_can_be_autovivified">File and directory handles can be autovivified</a></li>
		<li><a href="#open___with_more_than_two_arguments"><a href="../../lib/Pod/perlfunc.html#item_open"><code>open()</code></a> with more than two arguments</a></li>
		<li><a href="#64bit_support">64-bit support</a></li>
		<li><a href="#large_file_support">Large file support</a></li>
		<li><a href="#long_doubles">Long doubles</a></li>
		<li><a href="#more_bits">&quot;more bits&quot;</a></li>
		<li><a href="#enhanced_support_for_sort___subroutines">Enhanced support for <a href="../../lib/Pod/perlfunc.html#item_sort"><code>sort()</code></a> subroutines</a></li>
		<li><a href="#sort__coderef__foo_allowed"><code>sort $coderef @foo</code> allowed</a></li>
		<li><a href="#file_globbing_implemented_internally">File globbing implemented internally</a></li>
		<li><a href="#support_for_check_blocks">Support for CHECK blocks</a></li>
		<li><a href="#posix_character_class_syntax_______supported">POSIX character class syntax [: :] supported</a></li>
		<li><a href="#better_pseudorandom_number_generator">Better pseudo-random number generator</a></li>
		<li><a href="#improved_qw___operator">Improved <a href="../../lib/Pod/perlfunc.html#item_qw_"><code>qw//</code></a> operator</a></li>
		<li><a href="#better_worstcase_behavior_of_hashes">Better worst-case behavior of hashes</a></li>
		<li><a href="#pack___format__z__supported"><a href="../../lib/Pod/perlfunc.html#item_pack"><code>pack()</code></a> format 'Z' supported</a></li>
		<li><a href="#pack___format_modifier_____supported"><a href="../../lib/Pod/perlfunc.html#item_pack"><code>pack()</code></a> format modifier '!' supported</a></li>
		<li><a href="#pack___and_unpack___support_counted_strings"><a href="../../lib/Pod/perlfunc.html#item_pack"><code>pack()</code></a> and <a href="../../lib/Pod/perlfunc.html#item_unpack"><code>unpack()</code></a> support counted strings</a></li>
		<li><a href="#comments_in_pack___templates">Comments in <a href="../../lib/Pod/perlfunc.html#item_pack"><code>pack()</code></a> templates</a></li>
		<li><a href="#weak_references">Weak references</a></li>
		<li><a href="#binary_numbers_supported">Binary numbers supported</a></li>
		<li><a href="#lvalue_subroutines">Lvalue subroutines</a></li>
		<li><a href="#some_arrows_may_be_omitted_in_calls_through_references">Some arrows may be omitted in calls through references</a></li>
		<li><a href="#boolean_assignment_operators_are_legal_lvalues">Boolean assignment operators are legal lvalues</a></li>
		<li><a href="#exists___is_supported_on_subroutine_names"><a href="../../lib/Pod/perlfunc.html#item_exists"><code>exists()</code></a> is supported on subroutine names</a></li>
		<li><a href="#exists___and_delete___are_supported_on_array_elements"><a href="../../lib/Pod/perlfunc.html#item_exists"><code>exists()</code></a> and <a href="../../lib/Pod/perlfunc.html#item_delete"><code>delete()</code></a> are supported on array elements</a></li>
		<li><a href="#pseudohashes_work_better">Pseudo-hashes work better</a></li>
		<li><a href="#automatic_flushing_of_output_buffers">Automatic flushing of output buffers</a></li>
		<li><a href="#better_diagnostics_on_meaningless_filehandle_operations">Better diagnostics on meaningless filehandle operations</a></li>
		<li><a href="#where_possible__buffered_data_discarded_from_duped_input_filehandle">Where possible, buffered data discarded from duped input filehandle</a></li>
		<li><a href="#eof___has_the_same_old_magic_as___"><a href="../../lib/Pod/perlfunc.html#item_eof"><code>eof()</code></a> has the same old magic as &lt;&gt;</a></li>
		<li><a href="#binmode___can_be_used_to_set__crlf_and__raw_modes"><a href="../../lib/Pod/perlfunc.html#item_binmode"><code>binmode()</code></a> can be used to set :crlf and :raw modes</a></li>
		<li><a href="#t_filetest_recognizes_utf8_encoded_files_as_text"><a href="../../lib/Pod/perlrun.html#item__2dt"><code>-T</code></a> filetest recognizes UTF-8 encoded files as &quot;text&quot;</a></li>
		<li><a href="#system____backticks_and_pipe_open_now_reflect_exec___failure">system(), backticks and pipe open now reflect <a href="../../lib/Pod/perlfunc.html#item_exec"><code>exec()</code></a> failure</a></li>
		<li><a href="#improved_diagnostics">Improved diagnostics</a></li>
		<li><a href="#diagnostics_follow_stderr">Diagnostics follow STDERR</a></li>
		<li><a href="#more_consistent_closeonexec_behavior">More consistent close-on-exec behavior</a></li>
		<li><a href="#syswrite___easeofuse"><a href="../../lib/Pod/perlfunc.html#item_syswrite"><code>syswrite()</code></a> ease-of-use</a></li>
		<li><a href="#better_syntax_checks_on_parenthesized_unary_operators">Better syntax checks on parenthesized unary operators</a></li>
		<li><a href="#bit_operators_support_full_native_integer_width">Bit operators support full native integer width</a></li>
		<li><a href="#improved_security_features">Improved security features</a></li>
		<li><a href="#more_functional_bareword_prototype____">More functional bareword prototype (*)</a></li>
		<li><a href="#require_and_do_may_be_overridden"><a href="../../lib/Pod/perlfunc.html#item_require"><code>require</code></a> and <a href="../../lib/Pod/perlfunc.html#item_do"><code>do</code></a> may be overridden</a></li>
		<li><a href="#__x_variables_may_now_have_names_longer_than_one_character">$^X variables may now have names longer than one character</a></li>
		<li><a href="#new_variable___c_reflects_c_switch">New variable $^C reflects <a href="../../lib/Pod/perlrun.html#item__2dc"><code>-c</code></a> switch</a></li>
		<li><a href="#new_variable___v_contains_perl_version_as_a_string">New variable $^V contains Perl version as a string</a></li>
		<li><a href="#optional_y2k_warnings">Optional Y2K warnings</a></li>
		<li><a href="#arrays_now_always_interpolate_into_doublequoted_strings">Arrays now always interpolate into double-quoted strings</a></li>
		<li><a href="#__and____provide_starting_ending_offsets_of_regex_submatches">@- and @+ provide starting/ending offsets of regex submatches</a></li>
	</ul>

	<li><a href="#modules_and_pragmata">Modules and Pragmata</a></li>
	<ul>

		<li><a href="#modules">Modules</a></li>
		<li><a href="#pragmata">Pragmata</a></li>
	</ul>

	<li><a href="#utility_changes">Utility Changes</a></li>
	<ul>

		<li><a href="#dprofpp">dprofpp</a></li>
		<li><a href="#find2perl">find2perl</a></li>
		<li><a href="#h2xs">h2xs</a></li>
		<li><a href="#perlcc">perlcc</a></li>
		<li><a href="#perldoc">perldoc</a></li>
		<li><a href="#the_perl_debugger">The Perl Debugger</a></li>
	</ul>

	<li><a href="#improved_documentation">Improved Documentation</a></li>
	<li><a href="#performance_enhancements">Performance enhancements</a></li>
	<ul>

		<li><a href="#simple_sort___using____a______b___and_the_like_are_optimized">Simple <a href="../../lib/Pod/perlfunc.html#item_sort"><code>sort()</code></a> using { $a &lt;=&gt; $b } and the like are optimized</a></li>
		<li><a href="#optimized_assignments_to_lexical_variables">Optimized assignments to lexical variables</a></li>
		<li><a href="#faster_subroutine_calls">Faster subroutine calls</a></li>
		<li><a href="#delete____each____values___and_hash_iteration_are_faster">delete(), each(), <a href="../../lib/Pod/perlfunc.html#item_values"><code>values()</code></a> and hash iteration are faster</a></li>
	</ul>

	<li><a href="#installation_and_configuration_improvements">Installation and Configuration Improvements</a></li>
	<ul>

		<li><a href="#dusethreads_means_something_different">-Dusethreads means something different</a></li>
		<li><a href="#new_configure_flags">New Configure flags</a></li>
		<li><a href="#threadedness_and_64bitness_now_more_daring">Threadedness and 64-bitness now more daring</a></li>
		<li><a href="#long_doubles">Long Doubles</a></li>
		<li><a href="#dusemorebits">-Dusemorebits</a></li>
		<li><a href="#duselargefiles">-Duselargefiles</a></li>
		<li><a href="#installusrbinperl">installusrbinperl</a></li>
		<li><a href="#socks_support">SOCKS support</a></li>
		<li><a href="#a_flag"><code>-A</code> flag</a></li>
		<li><a href="#enhanced_installation_directories">Enhanced Installation Directories</a></li>
		<li><a href="#gcc_automatically_tried_if__cc__does_not_seem_to_be_working">gcc automatically tried if 'cc' does not seem to be working</a></li>
	</ul>

	<li><a href="#platform_specific_changes">Platform specific changes</a></li>
	<ul>

		<li><a href="#supported_platforms">Supported platforms</a></li>
		<li><a href="#dos">DOS</a></li>
		<li><a href="#os390__openedition_mvs_">OS390 (OpenEdition MVS)</a></li>
		<li><a href="#vms">VMS</a></li>
		<li><a href="#win32">Win32</a></li>
	</ul>

	<li><a href="#significant_bug_fixes">Significant bug fixes</a></li>
	<ul>

		<li><a href="#_handle__on_empty_files">&lt;HANDLE&gt; on empty files</a></li>
		<li><a href="#eval_______improvements"><code>eval '...'</code> improvements</a></li>
		<li><a href="#all_compilation_errors_are_true_errors">All compilation errors are true errors</a></li>
		<li><a href="#implicitly_closed_filehandles_are_safer">Implicitly closed filehandles are safer</a></li>
		<li><a href="#behavior_of_list_slices_is_more_consistent">Behavior of list slices is more consistent</a></li>
		<li><a href="#_____prototype_and__foo_a_"><code>(\$)</code> prototype and <code>$foo{a}</code></a></li>
		<li><a href="#goto__sub_and_autoload"><code>goto &amp;sub</code> and AUTOLOAD</a></li>
		<li><a href="#bareword_allowed_under_use_integer"><code>-bareword</code> allowed under <code>use integer</code></a></li>
		<li><a href="#failures_in_destroy__">Failures in <code>DESTROY()</code></a></li>
		<li><a href="#locale_bugs_fixed">Locale bugs fixed</a></li>
		<li><a href="#memory_leaks">Memory leaks</a></li>
		<li><a href="#spurious_subroutine_stubs_after_failed_subroutine_calls">Spurious subroutine stubs after failed subroutine calls</a></li>
		<li><a href="#taint_failures_under_u">Taint failures under <a href="../../lib/Pod/perlrun.html#item__2du"><code>-U</code></a></a></li>
		<li><a href="#end_blocks_and_the_c_switch">END blocks and the <a href="../../lib/Pod/perlrun.html#item__2dc"><code>-c</code></a> switch</a></li>
		<li><a href="#potential_to_leak_data_filehandles">Potential to leak DATA filehandles</a></li>
	</ul>

	<li><a href="#new_or_changed_diagnostics">New or Changed Diagnostics</a></li>
	<li><a href="#new_tests">New tests</a></li>
	<li><a href="#incompatible_changes">Incompatible Changes</a></li>
	<ul>

		<li><a href="#perl_source_incompatibilities">Perl Source Incompatibilities</a></li>
		<li><a href="#c_source_incompatibilities">C Source Incompatibilities</a></li>
		<li><a href="#compatible_c_source_api_changes">Compatible C Source API Changes</a></li>
		<li><a href="#binary_incompatibilities">Binary Incompatibilities</a></li>
	</ul>

	<li><a href="#known_problems">Known Problems</a></li>
	<ul>

		<li><a href="#localizing_a_tied_hash_element_may_leak_memory">Localizing a tied hash element may leak memory</a></li>
		<li><a href="#known_test_failures">Known test failures</a></li>
		<li><a href="#ebcdic_platforms_not_fully_supported">EBCDIC platforms not fully supported</a></li>
		<li><a href="#unicos_mk_cc_failures_during_configure_run">UNICOS/mk CC failures during Configure run</a></li>
		<li><a href="#arrow_operator_and_arrays">Arrow operator and arrays</a></li>
		<li><a href="#experimental_features">Experimental features</a></li>
	</ul>

	<li><a href="#obsolete_diagnostics">Obsolete Diagnostics</a></li>
	<li><a href="#reporting_bugs">Reporting Bugs</a></li>
	<li><a href="#see_also">SEE ALSO</a></li>
	<li><a href="#history">HISTORY</a></li>
</ul>
<!-- INDEX END -->

<hr />
<p>
</p>
<h1><a name="name">NAME</a></h1>
<p>perl561delta - what's new for perl v5.6.x</p>
<p>
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
<p>This document describes differences between the 5.005 release and the 5.6.1
release.</p>
<p>
</p>
<hr />
<h1><a name="summary_of_changes_between_5_6_0_and_5_6_1">Summary of changes between 5.6.0 and 5.6.1</a></h1>
<p>This section contains a summary of the changes between the 5.6.0 release
and the 5.6.1 release.  More details about the changes mentioned here
may be found in the <em>Changes</em> files that accompany the Perl source
distribution.  See <a href="../../lib/Pod/perlhack.html">the perlhack manpage</a> for pointers to online resources where you
can inspect the individual patches described by these changes.</p>
<p>
</p>
<h2><a name="security_issues">Security Issues</a></h2>
<p>suidperl will not run /bin/mail anymore, because some platforms have
a /bin/mail that is vulnerable to buffer overflow attacks.</p>
<p>Note that suidperl is neither built nor installed by default in
any recent version of perl.  Use of suidperl is highly discouraged.
If you think you need it, try alternatives such as sudo first.
See <a href="http://www.courtesan.com/sudo/">http://www.courtesan.com/sudo/</a> .</p>
<p>
</p>
<h2><a name="core_bug_fixes">Core bug fixes</a></h2>
<p>This is not an exhaustive list.  It is intended to cover only the
significant user-visible changes.</p>
<dl>
<dt><strong><a name="item_isa"><code>UNIVERSAL::isa()</code></a></strong>

<dd>
<p>A bug in the caching mechanism used by <a href="#item_isa"><code>UNIVERSAL::isa()</code></a> that affected
base.pm has been fixed.  The bug has existed since the 5.005 releases,
but wasn't tickled by base.pm in those releases.</p>
</dd>
</li>
<dt><strong><a name="item_memory_leaks">Memory leaks</a></strong>

<dd>
<p>Various cases of memory leaks and attempts to access uninitialized memory
have been cured.  See <a href="#known_problems">Known Problems</a> below for further issues.</p>
</dd>
</li>

⌨️ 快捷键说明

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