[perldocjp-cvs 1435] CVS update: docs/perl/5.16.0

Back to archive index

argra****@users***** argra****@users*****
2012年 5月 13日 (日) 15:58:37 JST


Index: docs/perl/5.16.0/perl5160delta.pod
diff -u docs/perl/5.16.0/perl5160delta.pod:1.15 docs/perl/5.16.0/perl5160delta.pod:1.16
--- docs/perl/5.16.0/perl5160delta.pod:1.15	Sun May 13 15:36:19 2012
+++ docs/perl/5.16.0/perl5160delta.pod	Sun May 13 15:58:37 2012
@@ -33,21 +33,47 @@
 5.12.0 のような以前のリリースから更新する場合は、まず 5.12.0 と
 5.14.0 の違いについて記述している L<perl5140delta> を読んでください。
 
+=begin original
+
+Some of the bug fixes in this release have been backported to subsequent
+releases of 5.14.x.  Those are indicated with the 5.14.x version in
+parentheses.
+
+=end original
+
+Some of the bug fixes in this release have been backported to subsequent
+releases of 5.14.x.  Those are indicated with the 5.14.x version in
+parentheses.
+(TBT)
+
 =head1 Notice
 
 =begin original
 
-As described in L<perlpolicy>, the release of Perl 5.16.0 marks the
-official end of support for Perl 5.12.  Users of Perl 5.12 or earlier
-should consider upgrading to a more recent release of Perl.
+With the release of Perl 5.16.0, the 5.12.x series of releases are now out of
+their support period.  There may be future 5.12.x releases, but only in the
+event of a critical security issue.  Users of Perl 5.12 or earlier should
+consider upgrading to a more recent release of Perl.
 
 =end original
 
-L<perlpolicy> に記述されているように、Perl 5.16.0 によって Perl 5.12 の
-サポートが公式に終了します。
+Perl 5.16.0 のリリースによって、5.12.x リリースシリーズはサポート期間が
+終了します。
+将来 5.12.x リリースがあるかもしれませんが、それは重大なセキュリティ問題が
+あった場合のみです。
 Perl 5.12 以前のユーザーはより新しい Perl にアップグレードすることを
 検討するべきです。
 
+=begin original
+
+This policy is described in greater detail in
+L<perlpolicy|perlpolicy/MAINTENANCE AND SUPPORT>.
+
+=end original
+
+このポリシーは L<perlpolicy|perlpolicy/MAINTENANCE AND SUPPORT> に
+より詳細に記述されています。
+
 =head1 Core Enhancements
 
 (コアの拡張)
@@ -289,7 +315,7 @@
 
 Since this change also allowed many bugs to be fixed (see
 L</The C<substr> operator>), and since the behaviour
-of negative offsets has never been specified, so the
+of negative offsets has never been specified, the
 change was deemed acceptable.
 
 =end original
@@ -674,7 +700,7 @@
 
 One-character non-ASCII non-punctuation variables (like C<$辿>) are now
 subject to "Used only once" warnings.  They used to be exempt, as they
-was treated as punctuation variables.
+were treated as punctuation variables.
 
 =end original
 
@@ -820,17 +846,17 @@
 
 The XS-callable function C<is_utf8_char()>, when presented with
 malformed UTF-8 input, can read up to 12 bytes beyond the end of the
-string.  This cannot be fixed without changing its API.  It is not
-called from CPAN.  The documentation now describes how to use it
-safely.
+string.  This cannot be fixed without changing its API, and so its
+use is now deprecated.  Use C<is_utf8_char_buf()> (described just below)
+instead.
 
 =end original
 
 XS 呼び出し可能な関数 C<is_utf8_char()> は、不正な UTF-8 入力があると、
 文字列の終わりを越えて最大 12 バイト読む可能性があります。
-これは API を変更せずに修正することはできません。
-これは CPAN からは呼び出されません。
-文書にはこれを安全に使う方法を記述しています。
+これは API を変更せずに修正することはできないので、この使用は
+非推奨になりました。
+代わりに (この後に記述している) C<is_utf8_char_buf()> を使ってください。
 
 =head3 Added C<is_utf8_char_buf()>
 
@@ -1256,7 +1282,7 @@
 itself to denial of service or arbitrary code execution attacks.  There
 are no known exploits in the wild.  The problem has been corrected by
 explicitly disabling all unsupported flags and setting unused function
-pointers to null.  Bug reported by Cl辿ment Lecigne.
+pointers to null.  Bug reported by Cl辿ment Lecigne. (5.14.2)
 
 =end original
 
@@ -1267,7 +1293,7 @@
 今のところ知られている攻撃はありません。
 この問題は、未対応フラグを明示的に無効にして、未使用関数のポインタを
 null にすることで修正されました。
-バグは ClE<eacute>ment Lecigne によって報告されました。
+バグは ClE<eacute>ment Lecigne によって報告されました。(5.14.2)
 
 =head2 Privileges are now set correctly when assigning to C<$(>
 
@@ -1278,14 +1304,14 @@
 A hypothetical bug (probably non-exploitable in practice) due to the
 incorrect setting of the effective group ID while setting C<$(> has been
 fixed.  The bug would only have affected systems that have C<setresgid()>
-but not C<setregid()>, but no such systems are known of.
+but not C<setregid()>, but no such systems are known to exist.
 
 =end original
 
 C<$(> の設定中の有効グループ ID の設定が正しくないことによる仮説上の
 (おそらく実際には攻撃できない)バグが修正されました。
 このバグは C<setresgid()> はあるけれども C<setregid()> がないシステムにのみ
-影響を与えますが、そのようなシステムは知られていません。
+影響を与えますが、そのようなシステムの存在は知られていません。
 
 =head1 Deprecations
 
@@ -1312,14 +1338,14 @@
 =begin original
 
 Perl may at some point in the future change or remove the files.  The
-file most likely for applications to have used is
+file which applications were most likely to have used is
 F<lib/unicore/ToDigit.pl>.  L<Unicode::UCD/prop_invmap()> can be used to
 get at its data instead.
 
 =end original
 
 Perl は将来のいずれかの時点でファイルを変更または削除するかもしれません。
-アプリケーションから一番使われていたであろうファイルは
+アプリケーションが一番使っていたであろうファイルは
 F<lib/unicore/ToDigit.pl> です。
 代わりにこのデータを得るために L<Unicode::UCD/prop_invmap()> が使えます。
 
@@ -1395,7 +1421,11 @@
 
 =item *
 
-Pod::Parser, Pod::LaTeX
+Pod::LaTeX
+
+=item *
+
+Pod::Parser
 
 =item *
 
@@ -1562,6 +1592,32 @@
 可能になります。
 例については L<perlre/Quantifiers> を参照してください。
 
+=item *
+
+=begin original
+
+Revamping C<< "\Q" >> semantics in double-quotish strings when combined with other escapes
+
+=end original
+
+Revamping C<< "\Q" >> semantics in double-quotish strings when combined with other escapes
+(TBT)
+
+=begin original
+
+There are a number of bugs and inconsistencies involving combinations
+of C<\Q> and  excapes like C<\x>, C<\L>, etc., within a C<\Q...\E> pair.
+These need to be fixed, and doing so will necessarily change current
+behavior.  The changes have not yet been settled.
+
+=end original
+
+There are a number of bugs and inconsistencies involving combinations
+of C<\Q> and  excapes like C<\x>, C<\L>, etc., within a C<\Q...\E> pair.
+These need to be fixed, and doing so will necessarily change current
+behavior.  The changes have not yet been settled.
+(TBT)
+
 =back
 
 =head1 Incompatible Changes
@@ -1608,7 +1664,7 @@
 
 Two presumably unused XS typemap entries have been removed from the
 core typemap: T_DATAUNIT and T_CALLBACK.  If you are, against all odds,
-a user of these, please see the instructions on how to regain them
+a user of these, please see the instructions on how to restore them
 in L<perlxstypemap>.
 
 =end original
@@ -1736,8 +1792,8 @@
 and C<XS_INTERNAL(name)> macros to pick the desired linking behaviour.
 The ordinary C<XS(name)> declaration for XSUBs will continue to declare
 non-'static' XSUBs for compatibility, but the XS compiler,
-C<ExtUtils::ParseXS> (C<xsubpp>) will emit 'static' XSUBs by default.
-C<ExtUtils::ParseXS>'s behaviour can be reconfigured from XS using the
+L<ExtUtils::ParseXS> (C<xsubpp>) will emit 'static' XSUBs by default.
+L<ExtUtils::ParseXS>'s behaviour can be reconfigured from XS using the
 C<EXPORT_XSUB_SYMBOLS> keyword.  See L<perlxs> for details.
 
 =end original
@@ -1747,9 +1803,9 @@
 ユーザーは求めるリンクの振る舞いを得るために新しい
 C<XS_EXTERNAL(name)> マクロと C<XS_INTERNAL(name)> マクロを使えます。
 XSUB の通常の C<XS(name)> 宣言は互換性のために非 'static' な XSUB を
-宣言するままですが、XS コンパイラ C<ExtUtils::ParseXS> (C<xsubpp>) は
+宣言するままですが、XS コンパイラ L<ExtUtils::ParseXS> (C<xsubpp>) は
 デフォルトでは 'static' XSUB を出力します。
-C<ExtUtils::ParseXS> の振る舞いは C<EXPORT_XSUB_SYMBOLS> キーワードを
+L<ExtUtils::ParseXS> の振る舞いは C<EXPORT_XSUB_SYMBOLS> キーワードを
 使った XS によって再設定できます。
 詳しくは L<perlxs> を参照してください。
 
@@ -1993,6 +2049,28 @@
 
 =for comment Can this be compacted some? -- rjbs, 2012-02-20
 
+=begin original
+
+Matching a code point against a Unicode property is now done via a
+binary search instead of linear.  This means for example that the worst
+case for a 1000 item property is 10 probes instead of 1000.  This
+inefficiency has been compensated for in the past by permanently storing
+in a hash the results of a given probe plus the results for the adjacent
+64 code points, under the theory that near-by code points are likely to
+be searched for.  A separate hash was used for each mention of a Unicode
+property in each regular expression.  Thus, C<qr/\p{foo}abc\p{foo}/>
+would generate two hashes.  Any probes in one instance would be unknown
+to the other, and the hashes could expand separately to be quite large
+if the regular expression were used on many different widely-separated
+code points.
+Now, however, there is just one hash shared by all instances of a given
+property.  This means that if C<\p{foo}> is matched against "A" in one
+regular expression in a thread, the result will be known immediately to
+all regular expressions, and the relentless march of using up memory is
+slowed considerably.
+
+=end original
+
 Matching a code point against a Unicode property is now done via a
 binary search instead of linear.  This means for example that the worst
 case for a 1000 item property is 10 probes instead of 1000.  This
@@ -2004,12 +2082,13 @@
 would generate two hashes.  Any probes in one instance would be unknown
 to the other, and the hashes could expand separately to be quite large
 if the regular expression were used on many different widely-separated
-code points.  This can lead to running out of memory in extreme cases.
+code points.
 Now, however, there is just one hash shared by all instances of a given
 property.  This means that if C<\p{foo}> is matched against "A" in one
 regular expression in a thread, the result will be known immediately to
 all regular expressions, and the relentless march of using up memory is
 slowed considerably.
+(TBT)
 
 =item *
 
@@ -2163,16 +2242,6 @@
 
 =begin original
 
-C<study> is now a no-op.
-
-=end original
-
-C<study> は何もしなくなりました。
-
-=item *
-
-=begin original
-
 Recursive calls to lvalue subroutines in lvalue scalar context use less
 memory.
 
@@ -2229,11 +2298,11 @@
 
 =begin original
 
-C<PerlIO::mmap> 0.010 has been added to the Perl core.
+L<PerlIO::mmap> 0.010 has been added to the Perl core.
 
 =end original
 
-C<PerlIO::mmap> 0.010 が Perl コアに追加されました。
+L<PerlIO::mmap> 0.010 が Perl コアに追加されました。
 
 =begin original
 
@@ -2251,11 +2320,536 @@
 
 (更新されたモジュールとプラグマ)
 
+=begin original
+
+This is only an overview of selected module updates.  For a complete list of
+updates, run:
+
+=end original
+
+This is only an overview of selected module updates.  For a complete list of
+updates, run:
+(TBT)
+
+    $ corelist --diff 5.14.0 5.16.0
+
+=begin original
+
+You can substitute your favorite version in place of 5.14.0, too.
+
+=end original
+
+You can substitute your favorite version in place of 5.14.0, too.
+(TBT)
+
+=over 4
+
+=item *
+
+L<Archive::Extract> has been upgraded from version 0.48 to 0.58.
+
+Includes a fix for FreeBSD to only use C<unzip> if it is located in
+C</usr/local/bin>, as FreeBSD 9.0 will ship with a limited C<unzip> in
+C</usr/bin>.
+
+=item *
+
+L<Archive::Tar> has been upgraded from version 1.76 to 1.82.
+
+Adjustments to handle files >8gb (>0777777777777 octal) and a feature
+to return the MD5SUM of files in the archive.
+
+=item *
+
+L<base> has been upgraded from version 2.16 to 2.18.
+
+C<base> no longer sets a module's C<$VERSION> to "-1" when a module it
+loads does not define a C<$VERSION>.  This change has been made because
+"-1" is not a valid version number under the new "lax" criteria used
+internally by C<UNIVERSAL::VERSION>.  (See L<version> for more on "lax"
+version criteria.)
+
+C<base> no longer internally skips loading modules it has already loaded
+and instead relies on C<require> to inspect C<%INC>.  This fixes a bug
+when C<base> is used with code that clear C<%INC> to force a module to
+be reloaded.
+
+=item *
+
+L<Carp> has been upgraded from version 1.20 to 1.26.
+
+It now includes last read filehandle info and puts a dot after the file
+and line number, just like errors from C<die> [perl #106538].
+
+=item *
+
+L<charnames> has been updated from version 1.18 to 1.30.
+
+L<charnames> can now be invoked with a new option, C<:loose>,
+which is like the existing C<:full> option, but enables Unicode loose
+name matching.  Details are in L<charnames/LOOSE MATCHES>.
+
+=item *
+
+L<B::Deparse> has been upgraded from version 1.03 to 1.14.  This fixes
+numerous deparsing bugs.
+
+=item *
+
+L<CGI> has been upgraded from version 3.52 to 3.59.
+
+It uses the public and documented FCGI.pm API in CGI::Fast.  CGI::Fast was
+using an FCGI API that was deprecated and removed from documentation
+more than ten years ago.  Usage of this deprecated API with FCGI E<gt>=
+0.70 or FCGI E<lt>= 0.73 introduces a security issue.
+L<https://rt.cpan.org/Public/Bug/Display.html?id=68380>
+L<http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-2766>
+
+Things that may break your code:
+
+C<url()> was fixed to return C<PATH_INFO> when it is explicitly requested
+with either the C<path=E<gt>1> or C<path_info=E<gt>1> flag.
+
+If your code is running under mod_rewrite (or compatible) and you are
+calling C<self_url()> or you are calling C<url()> and passing
+C<path_info=E<gt>1>, these methods will actually be returning
+C<PATH_INFO> now, as you have explicitly requested or C<self_url()>
+has requested on your behalf.
+
+The C<PATH_INFO> has been omitted in such URLs since the issue was
+introduced in the 3.12 release in December, 2005.
+
+This bug is so old your application may have come to depend on it or
+workaround it. Check for application before upgrading to this release.
+
+Examples of affected method calls:
+
+  $q->url(-absolute => 1, -query => 1, -path_info => 1);
+  $q->url(-path=>1);
+  $q->url(-full=>1,-path=>1);
+  $q->url(-rewrite=>1,-path=>1);
+  $q->self_url();
+
+We no longer read from STDIN when the Content-Length is not set,
+preventing requests with no Content-Length from freezing in some cases.
+This is consistent with the CGI RFC 3875, and is also consistent with
+CGI::Simple.  However, the old behavior may have been expected by some
+command-line uses of CGI.pm.
+
+In addition, the DELETE HTTP verb is now supported.
+
+=item *
+
+L<Compress::Zlib> has been upgraded from version 2.035 to 2.048.
+
+IO::Compress::Zip and IO::Uncompress::Unzip now have support for LZMA
+(method 14).  There is a fix for a CRC issue in IO::Compress::Unzip and
+it supports Streamed Stored context now.  And fixed a Zip64 issue in
+IO::Compress::Zip when the content size was exactly 0xFFFFFFFF.
+
+=item *
+
+L<Digest::SHA> has been upgraded from version 5.61 to 5.71.
+
+Added BITS mode to the addfile method and shasum.  This makes
+partial-byte inputs possible via files/STDIN and allows shasum to check
+all 8074 NIST Msg vectors, where previously special programming was
+required to do this.
+
+=item *
+
+L<Encode> has been upgraded from version 2.42 to 2.44.
+
+Missing aliases added, a deep recursion error fixed and various
+documentation updates.
+
+Addressed 'decode_xs n-byte heap-overflow' security bug in Unicode.xs
+(CVE-2011-2939). (5.14.2)
+
+=item *
+
+L<ExtUtils::CBuilder> updated from version 0.280203 to 0.280206.
+
+The new version appends CFLAGS and LDFLAGS to their Config.pm
+counterparts.
+
+=item *
+
+L<ExtUtils::ParseXS> has been upgraded from version 2.2210 to 3.16.
+
+Much of L<ExtUtils::ParseXS>, the module behind the XS compiler C<xsubpp>,
+was rewritten and cleaned up.  It has been made somewhat more extensible
+and now finally uses strictures.
+
+The typemap logic has been moved into a separate module,
+L<ExtUtils::Typemaps>.  See L</New Modules and Pragmata>, above.
+
+For a complete set of changes, please see the ExtUtils::ParseXS
+changelog, available on the CPAN.
+
+=item *
+
+L<File::Glob> has been upgraded from version 1.12 to 1.17.
+
+On Windows, tilde (~) expansion now checks the C<USERPROFILE> environment
+variable, after checking C<HOME>.
+
+It has a new C<:bsd_glob> export tag, intended to replace C<:glob>.  Like
+C<:glob> it overrides C<glob> with a function that does not split the glob
+pattern into words, but, unlike C<:glob>, it iterates properly in scalar
+context, instead of returning the last file.
+
+There are other changes affecting Perl's own C<glob> operator (which uses
+File::Glob internally, except on VMS).  See L</Performance Enhancements>
+and L</Selected Bug Fixes>.
+
+=item *
+
+L<FindBin> updated from version 1.50 to 1.51.
+
+It no longer returns a wrong result if a script of the same name as the
+current one exists in the path and is executable.
+
+=item *
+
+L<HTTP::Tiny> has been upgraded from version 0.012 to 0.017.
+
+Added support for using C<$ENV{http_proxy}> to set the default proxy host.
+
+Adds additional shorthand methods for all common HTTP verbs,
+a C<post_form()> method for POST-ing x-www-form-urlencoded data and
+a C<www_form_urlencode()> utility method.
+
+=item *
+
+L<IO> has been upgraded from version 1.25_04 to 1.25_06, and L<IO::Handle>
+from version 1.31 to 1.33.
+
+Together, these upgrades fix a problem with IO::Handle's C<getline> and
+C<getlines> methods.  When these methods are called on the special ARGV
+handle, the next file is automatically opened, as happens with the built-in
+C<E<lt>E<gt>> and C<readline> functions.  But, unlike the built-ins, these
+methods were not respecting the caller's use of the L<open> pragma and
+applying the approprate I/O layers to the newly-opened file
+[rt.cpan.org #66474].
+
+=item *
+
+L<IPC::Cmd> has been upgraded from version 0.70 to 0.76.
+
+Capturing of command output (both C<STDOUT> and C<STDERR>) is now supported
+using L<IPC::Open3> on MSWin32 without requiring L<IPC::Run>.
+
+=item *
+
+L<IPC::Open3> has been upgraded from version 1.09 to 1.12.
+
 =over 4
 
 =item *
 
-L<XXX> has been upgraded from version 0.69 to version 0.70.
+Fixes a bug which prevented use of C<open3> on Windows when C<*STDIN>,
+C<*STDOUT> or C<*STDERR> had been localized.
+
+=item *
+
+Fixes a bug which prevented duplicating numeric file descriptors on Windows.
+
+=item *
+
+C<open3> with "-" for the program name works once more.  This was broken in
+version 1.06 (and hence in Perl 5.14.0) [perl #95748].
+
+=back
+
+=item *
+
+L<Locale::Codes> has been upgraded from version 3.16 to 3.21.
+
+Added Language Extension codes (langext) and Language Variation codes (langvar)
+as defined in the IANA language registry.
+
+Added language codes from ISO 639-5
+
+Added language/script codes from the IANA language subtag registry
+
+Fixed an uninitialized value warning [rt.cpan.org #67438].
+
+Fixed the return value for the all_XXX_codes and all_XXX_names functions
+[rt.cpan.org #69100].
+
+Reorganized modules to move Locale::MODULE to Locale::Codes::MODULE to allow
+for cleaner future additions.  The original four modules (Locale::Language,
+Locale::Currency, Locale::Country, Locale::Script) will continue to work, but
+all new sets of codes will be added in the Locale::Codes namespace.
+
+The code2XXX, XXX2code, all_XXX_codes, and all_XXX_names functions now
+support retired codes.  All codesets may be specified by a constant or
+by their name now.  Previously, they were specified only by a constant.
+
+The alias_code function exists for backward compatibility.  It has been
+replaced by rename_country_code.  The alias_code function will be
+removed some time after September, 2013.
+
+All work is now done in the central module (Locale::Codes).  Previously,
+some was still done in the wrapper modules (Locale::Codes::*).  Added
+Language Family codes (langfam) as defined in ISO 639-5.
+
+=item *
+
+L<Math::BigFloat> has been upgraded from version 1.993 to 1.997.
+
+The C<numify> method has been corrected to return a normalised Perl number
+(the result of C<0 + $thing>), instead of a string [rt.cpan.org #66732].
+
+=item *
+
+L<Math::BigInt> has been upgraded from version 1.994 to 1.998.
+
+It provides a new C<bsgn> method that complements the C<babs> method.
+
+It fixes the internal C<objectify> function's handling of "foreign objects"
+so they are converted to the appropriate class (Math::BigInt or
+Math::BigFloat).
+
+=item *
+
+L<Math::BigRat> has been upgraded from version 0.2602 to 0.2603.
+
+C<int()> on a Math::BigRat object containing -1/2 now creates a
+Math::BigInt containing 0, rather than -0.  L<Math::BigInt> does not even
+support negative zero, so the resulting object was actually malformed
+[perl #95530].
+
+=item *
+
+L<Math::Complex> has been upgraded from version 1.56 to 1.59
+and L<Math::Trig> from version 1.2 to 1.22.
+
+Fixes include: correct copy constructor usage; fix polarwise formatting with
+numeric format specifier; and more stable C<great_circle_direction> algorithm.
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 2.51 to 2.66.
+
+The C<corelist> utility now understands the C<-r> option for displaying
+Perl release dates and the C<--diff> option to print the set of modlib
+changes between two perl distributions.
+
+=item *
+
+L<Module::Metadata> has been upgraded from version 1.000004 to 1.000009.
+
+Adds C<provides> method to generate a CPAN META provides data structure
+correctly; use of C<package_versions_from_directory> is discouraged.
+
+=item *
+
+L<ODBM_File> has been upgraded from version 1.10 to 1.12.
+
+The XS code is now compiled with C<PERL_NO_GET_CONTEXT>, which will aid
+performance under ithreads.
+
+=item *
+
+L<open> has been upgraded from version 1.08 to 1.10.
+
+It no longer turns off layers on standard handles when invoked without the
+":std" directive.  Similarly, when invoked I<with> the ":std" directive, it
+now clears layers on STDERR before applying the new ones, and not just on
+STDIN and STDOUT [perl #92728].
+
+=item *
+
+L<overload> has been upgraded from version 1.13 to 1.18.
+
+C<overload::Overloaded> no longer calls C<can> on the class, but uses
+another means to determine whether the object has overloading.  It was
+never correct for it to call C<can>, as overloading does not respect
+AUTOLOAD.  So classes that autoload methods and implement C<can> no longer
+have to account for overloading [perl #40333].
+
+A warning is now produced for invalid arguments.  See L</New Diagnostics>.
+
+=item *
+
+L<PerlIO::scalar> has been upgraded from version 0.11 to 0.14.
+
+(This is the module that implements C<< open $fh, '>', \$scalar >>.)
+
+It fixes a problem with C<< open my $fh, ">", \$scalar >> not working if
+C<$scalar> is a copy-on-write scalar. (5.14.2)
+
+It also fixes a hang that occurs with C<readline> or C<< <$fh> >> if a
+typeglob has been assigned to $scalar [perl #92258].
+
+It no longer assumes during C<seek> that $scalar is a string internally.
+If it didn't crash, it was close to doing so [perl #92706].  Also, the
+internal print routine no longer assumes that the position set by C<seek>
+is valid, but extends the string to that position, filling the intervening
+bytes (between the old length and the seek position) with nulls
+[perl #78980].
+
+Printing to an in-memory handle now works if the $scalar holds a reference,
+stringifying the reference before modifying it.  References used to be
+treated as empty strings.
+
+Printing to an in-memory handle no longer crashes if the $scalar happens to
+hold a number internally, but no string buffer.
+
+Printing to an in-memory handle no longer creates scalars that confuse
+the regular expression engine [perl #108398].
+
+=item *
+
+L<Pod::Functions> has been upgraded from version 1.04 to 1.05.
+
+F<Functions.pm> is now generated at perl build time from annotations in
+F<perlfunc.pod>.  This will ensure that L<Pod::Functions> and L<perlfunc>
+remain in synchronisation.
+
+=item *
+
+L<Pod::Html> has been upgraded from version 1.11 to 1.1502.
+
+This is an extensive rewrite of Pod::Html to use L<Pod::Simple> under
+the hood.  The output has changed significantly.
+
+=item *
+
+L<Pod::Perldoc> has been upgraded from version 3.15_03 to 3.17.
+
+It corrects the search paths on VMS [perl #90640]. (5.14.1)
+
+The B<-v> option now fetches the right section for C<$0>.
+
+This upgrade has numerous significant fixes.  Consult its changelog on
+the CPAN for more information.
+
+=item *
+
+L<POSIX> has been upgraded from version 1.24 to 1.30.
+
+L<POSIX> no longer uses L<AutoLoader>.  Any code which was relying on this
+implementation detail was buggy, and may fail as a result of this change.
+The module's Perl code has been considerably simplified, roughly halving
+the number of lines, with no change in functionality.  The XS code has
+been refactored to reduce the size of the shared object by about 12%,
+with no change in functionality.  More POSIX functions now have tests.
+
+C<sigsuspend> and C<pause> now run signal handlers before returning, as the
+whole point of these two functions is to wait until a signal has
+arrived, and then return I<after> it has been triggered.  Delayed, or
+"safe", signals were preventing that from happening, possibly resulting in
+race conditions [perl #107216].
+
+C<POSIX::sleep> is now a direct call into the underlying OS C<sleep>
+function, instead of being a Perl wrapper on C<CORE::sleep>.
+C<POSIX::dup2> now returns the correct value on Win32 (I<i.e.>, the file
+descriptor).  C<POSIX::SigSet> C<sigsuspend> and C<sigpending> and
+C<POSIX::pause> now dispatch safe signals immediately before returning to
+their caller.
+
+C<POSIX::Termios::setattr> now defaults the third argument to C<TCSANOW>,
+instead of 0. On most platforms C<TCSANOW> is defined as 0, but on some
+0 is not a valid parameter, which caused a call with defaults to fail.
+
+=item *
+
+L<Socket> has been upgraded from version 1.94 to 2.000.
+
+It has new functions and constants for handling IPv6 sockets:
+
+    pack_ipv6_mreq
+    unpack_ipv6_mreq
+    IPV6_ADD_MEMBERSHIP
+    IPV6_DROP_MEMBERSHIP
+    IPV6_MTU
+    IPV6_MTU_DISCOVER
+    IPV6_MULTICAST_HOPS
+    IPV6_MULTICAST_IF
+    IPV6_MULTICAST_LOOP
+    IPV6_UNICAST_HOPS
+    IPV6_V6ONLY
+
+=item *
+
+L<Storable> has been upgraded from version 2.27 to 2.34.
+
+It no longer turns copy-on-write scalars into read-only scalars when
+freezing and thawing.
+
+=item *
+
+L<Sys::Syslog> has been upgraded from version 0.27 to 0.29.
+
+This upgrade closes many outstanding bugs.
+
+=item *
+
+L<Term::ANSIColor> has been upgraded from version 3.00 to 3.01.
+
+Only interpret an initial array reference as a list of colors, not any initial
+reference, allowing the colored function to work properly on objects with
+stringification defined.
+
+=item *
+
+L<Term::ReadLine> has been upgraded from version 1.07 to 1.09.
+
+Term::ReadLine now supports any event loop, including unpublished ones and
+simple L<IO::Select>, loops without the need to rewrite existing code for
+any particular framework [perl #108470].
+
+=item *
+
+L<threads::shared> has been upgraded from version 1.37 to 1.40.
+
+Destructors on shared objects used to be ignored sometimes if the objects
+were referenced only by shared data structures.  This has been mostly
+fixed, but destructors may still be ignored if the objects still exist at
+global destruction time [perl #98204].
+
+=item *
+
+L<Unicode::Collate> has been upgraded from version 0.73 to 0.89.
+
+Updated to CLDR 1.9.1
+
+Locales updated to CLDR 2.0: mk, mt, nb, nn, ro, ru, sk, sr, sv, uk,
+zh__pinyin, zh__stroke
+
+Newly supported locales: bn, fa, ml, mr, or, pa, sa, si, si__dictionary,
+sr_Latn, sv__reformed, ta, te, th, ur, wae.
+
+Tailored compatibility ideographs as well as unified ideographs for the
+locales: ja, ko, zh__big5han, zh__gb2312han, zh__pinyin, zh__stroke.
+
+Locale/*.pl files are now searched for in @INC.
+
+=item *
+
+L<Unicode::Normalize> has been upgraded from version 1.10 to 1.14.
+
+Fixes for the removal of F<unicore/CompositionExclusions.txt> from core.
+
+=item *
+
+L<Unicode::UCD> has been upgraded from version 0.32 to 0.43.
+
+This adds four new functions:  C<prop_aliases()> and
+C<prop_value_aliases()>, which are used to find all the Unicode-approved
+synonyms for property names, or to convert from one name to another;
+C<prop_invlist> which returns all the code points matching a given
+Unicode binary property; and C<prop_invmap> which returns the complete
+specification of a given Unicode property.
+
+=item *
+
+L<Win32API::File> has been upgraded from version 0.1101 to 0.1200.
+
+Added SetStdHandle and GetStdHandle functions
 
 =back
 
@@ -2417,14 +3011,14 @@
 
 =begin original
 
-As an accident of history, C<open $fh, "<:", ...> applies the default
+As an accident of history, C<open $fh, '<:', ...> applies the default
 layers for the platform (C<:raw> on Unix, C<:crlf> on Windows), ignoring
 whatever is declared by L<open.pm|open>.  This seems such a useful feature
 it has been documented in L<perlfunc|perlfunc/open> and L<open>.
 
 =end original
 
-歴史上の偶然により、C<open $fh, "<:", ...> はプラットフォームのデフォルト層
+歴史上の偶然により、C<open $fh, '<:', ...> はプラットフォームのデフォルト層
 (Unix では C<:raw>、Windows では C<:crlf>)を適用し、L<open.pm|open> で
 宣言されていたものを無視していました。
 これは有効な機能に思えるので、L<perlfunc|perlfunc/open> と L<open> に
@@ -3678,12 +4272,12 @@
 =begin original
 
 A fix to correct the socketsize now makes the test suite pass on HP-UX
-PA-RISC for 64bitall builds.
+PA-RISC for 64bitall builds. (5.14.2)
 
 =end original
 
 socketsize の修正は HP-UX PA-RISC の 64 ビットビルドのテストに
-通るようになりました。
+通るようになりました。(5.14.2)
 
 =back
 
@@ -4035,6 +4629,29 @@
 
 =begin original
 
+The returned code point from the function C<utf8n_to_uvuni()>
+when the input is malformed UTF-8, malformations are allowed, and
+C<utf8> warnings are off is now the Unicode REPLACEMENT CHARACTER
+whenever the malformation is such that no well-defined code point can be
+computed.  Previously the returned value was essentially garbage.  The
+only malformations that have well-defined values are a zero-length
+string (0 is the return), and overlong UTF-8 sequences.
+
+=end original
+
+The returned code point from the function C<utf8n_to_uvuni()>
+when the input is malformed UTF-8, malformations are allowed, and
+C<utf8> warnings are off is now the Unicode REPLACEMENT CHARACTER
+whenever the malformation is such that no well-defined code point can be
+computed.  Previously the returned value was essentially garbage.  The
+only malformations that have well-defined values are a zero-length
+string (0 is the return), and overlong UTF-8 sequences.
+(TBT)
+
+=item *
+
+=begin original
+
 Padlists are now marked C<AvREAL>; i.e., reference-counted.  They have
 always been reference-counted, but were not marked real, because F<pad.c>
 did its own clean-up, instead of using the usual clean-up code in F<sv.c>.
@@ -4382,9 +4999,9 @@
 
 Some core bugs affecting L<Hash::Util> have been fixed: locking a hash
 element that is a glob copy no longer causes subsequent assignment to it to
-corrupt the glob, and unlocking a hash element that holds a copy-on-write
-scalar no longer causes modifications to that scalar to modify other
-scalars that were sharing the same string buffer.
+corrupt the glob (5.14.2), and unlocking a hash element that holds a
+copy-on-write scalar no longer causes modifications to that scalar to
+modify other scalars that were sharing the same string buffer.
 
 =back
 
@@ -4484,7 +5101,7 @@
 
 C<utf8::decode> had a nasty bug that would modify copy-on-write scalars'
 string buffers in place (i.e., skipping the copy).  This could result in
-hashes having two elements with the same key [perl #91834].
+hashes having two elements with the same key [perl #91834]. (5.14.2)
 
 =item *
 
@@ -4496,12 +5113,12 @@
 
 Elements of restricted hashes (see the L<fields> pragma) containing
 copy-on-write values couldn't be deleted, nor could such hashes be cleared
-(C<%hash = ()>).
+(C<%hash = ()>). (5.14.2)
 
 =item *
 
 Localising a tied variable used to make it read-only if it contained a
-copy-on-write string.
+copy-on-write string. (5.14.2)
 
 =item *
 
@@ -5100,7 +5717,7 @@
 
 =item *
 
-A regression introduced in 5.13.6 has
+A regression introduced in 5.14.0 has
 been fixed.  This involved an inverted
 bracketed character class in a regular expression that consisted solely
 of a Unicode property.  That property wasn't getting inverted outside the
@@ -5178,7 +5795,7 @@
 
 A panic involving the combination of the regular expression modifiers
 C</aa> and the C<\b> escape sequence introduced in 5.14.0 has been
-fixed [perl #95964].
+fixed [perl #95964]. (5.14.2)
 
 =item *
 
@@ -5700,6 +6317,11 @@
 
 =item *
 
+C<study> is now a no-op, presumably fixing all outstanding bugs related to
+study causing regex matches to behave incorrectly!
+
+=item *
+
 When one writes C<open foo || die>, which used to work in Perl 4, a
 "Precedence problem" warning is produced.  This warning used erroneously to
 apply to fully-qualified bareword handle names not followed by C<||>.  This
@@ -5835,7 +6457,7 @@
 
 Perl 5.10.0 introduced some faulty logic that made "U*" in the middle of
 a pack template equivalent to "U0" if the input string was empty.  This has
-been fixed [perl #90160].
+been fixed [perl #90160]. (5.14.2)
 
 =item *
 
@@ -5899,7 +6521,7 @@
 
 C<caller> no longer leaks memory when called from the DB package if
 C<@DB::args> was assigned to after the first call to C<caller>.  L<Carp>
-was triggering this bug [perl #97010].
+was triggering this bug [perl #97010]. (5.14.2)
 
 =item *
 
@@ -6009,9 +6631,57 @@
 
 =head1 Acknowledgements
 
-XXX Generate this with:
+Perl 5.16.0 represents approximately 12 months of development since Perl
+5.14.0 and contains approximately 590,000 lines of changes across 2,500
+files from 137 authors.
+
+Perl continues to flourish into its third decade thanks to a vibrant
+community of users and developers.  The following people are known to
+have contributed the improvements that became Perl 5.14.1:
+
+Aaron Crane, Abhijit Menon-Sen, Abigail, Alan Haggai Alavi, Alberto
+Sim探es, Alexandr Ciornii, Andreas K旦nig, Andy Dougherty, Aristotle
+Pagaltzis, Bo Johansson, Bo Lindbergh, brian d foy, Brian Fraser, Brian
+Greenfield, Carl Hayter, Chas. Owens, Chia-liang Kao, Chip Salzenberg,
+Chris 'BinGOs' Williams, Christian Hansen, Christopher J. Madsen,
+chromatic, Claes Jacobsson, Claudio Ramirez, Craig A. Berry, Damian
+Conway, Daniel Kahn Gillmor, Darin McBride, Dave Rolsky, David Cantrell,
+David Golden, David Leadbeater, David Mitchell, Dee Newcum, Dennis
+Kaarsemaker, Dominic Hargreaves, Douglas Christopher Wilson, Eric Brine,
+Father Chrysostomos, Florian Ragwitz, Frederic Briere, George Greer,
+Gerard Goossen, Gisle Aas, H.Merijn Brand, Hojung Youn, Ian Goodacre,
+James E Keenan, Jan Dubois, Jerry D. Hedden, Jesse Luehrs, Jesse
+Vincent, Jilles Tjoelker, Jim Cromie, Jim Meyering, Joel Berger, Johan
+Vromans, Johannes Plunien, John Hawkinson, John P. Linderman, John
+Peacock, Joshua ben Jore, Juerd Waalboer, Karl Williamson, Karthik
+Rajagopalan, Keith Thompson, Kevin J.  Woolley, Kevin Ryde, Laurent
+Dami, Leo Lapworth, Leon Brocard, Leon Timmermans, Louis Strous, Lukas
+Mai, Marc Green, Marcel Gr端nauer, Mark A. Stratman, Mark Dootson, Mark
+Jason Dominus, Martin Hasch, Matthew Horsfall, Max Maischein, Michael G
+Schwern, Michael Witten, Mike Sheldrake, Moritz Lenz, Nicholas Clark,
+Niko Tyni, Nuno Carvalho, Pau Amma, Paul Evans, Paul Green, Paul
+Johnson, Perlover, Peter John Acklam, Peter Martini, Peter Scott, Phil
+Monsen, Pino Toscano, Rafael Garcia-Suarez, Rainer Tammer, Reini Urban,
+Ricardo Signes, Robin Barker, Rodolfo Carvalho, Salvador Fandi単o, Sam
+Kimbrel, Samuel Thibault, Shawn M Moore, Shigeya Suzuki, Shlomi Fish,
+Sisyphus, Slaven Rezic, Spiros Denaxas, Steffen M端ller, Steffen
+Schwigon, Stephen Bennett, Stephen Oberholtzer, Stevan Little, Steve
+Hay, Steve Peters, Thomas Sibley, Thorsten Glaser, Timothe Litt, Todd
+Rinaldo, Tom Christiansen, Tom Hukins, Tony Cook, Vadim Konovalov,
+Vincent Pit, Vladimir Timofeev, Walt Mankowski, Yves Orton, Zefram,
+Zsbán Ambrus, Ævar Arnfjörð Bjarmason.
+
+The list above is almost certainly incomplete as it is automatically
+generated from version control history.  In particular, it does not
+include the names of the (very much appreciated) contributors who
+reported issues to the Perl bug tracker.
+
+Many of the changes included in this version originated in the CPAN
+modules included in Perl's core.  We're grateful to the entire CPAN
+community for helping Perl to flourish.
 
-  perl Porting/acknowledgements.pl v5.14.0..HEAD
+For a more complete list of all of Perl's historical contributors,
+please see the F<AUTHORS> file in the Perl source distribution.
 
 =head1 Reporting Bugs
 



perldocjp-cvs メーリングリストの案内
Back to archive index