Date: Saturday July 04, 2020 @ 21:32 Author: argrath Update of /cvsroot/perldocjp/docs/perl/5.32.0 In directory sf-cvs:/tmp/cvs-serv73843/perl/5.32.0 Added Files: perl5320delta.pod Log Message: 5.32.0/perl5320delta =================================================================== File: perl5320delta.pod Status: Up-to-date Working revision: 1.1 Sat Jul 4 12:32:39 2020 Repository revision: 1.1 /cvsroot/perldocjp/docs/perl/5.32.0/perl5320delta.pod,v Sticky Options: -kb Existing Tags: No Tags Exist -------------- next part -------------- Index: docs/perl/5.32.0/perl5320delta.pod diff -u /dev/null docs/perl/5.32.0/perl5320delta.pod:1.1 --- /dev/null Sat Jul 4 21:32:39 2020 +++ docs/perl/5.32.0/perl5320delta.pod Sat Jul 4 21:32:39 2020 @@ -0,0 +1,4512 @@ + +=pod + +=encoding euc-jp + +=head1 NAME + +=begin original + +perldelta - what is new for perl v5.32.0 + +=end original + +perl5320delta - perl v5.32.0 ¤Ç¤ÎÊѹ¹ÅÀ + +=head1 DESCRIPTION + +=begin original + +This document describes differences between the 5.30.0 release and the 5.32.0 +release. + +=end original + +¤³¤Îʸ½ñ¤Ï 5.30.0 ¥ê¥ê¡¼¥¹¤È 5.32.0 ¥ê¥ê¡¼¥¹¤ÎÊѹ¹ÅÀ¤òµ½Ò¤·¤Æ¤¤¤Þ¤¹¡£ + +=begin original + +If you are upgrading from an earlier release such as 5.28.0, first read +L<perl5300delta>, which describes differences between 5.28.0 and 5.30.0. + +=end original + +5.28.0 ¤Î¤è¤¦¤Ê°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤«¤é¹¹¿·¤¹¤ë¾ì¹ç¤Ï¡¢¤Þ¤º 5.28.0 ¤È +5.30.0 ¤Î°ã¤¤¤Ë¤Ä¤¤¤Æµ½Ò¤·¤Æ¤¤¤ë L<perl5300delta> ¤òÆɤó¤Ç¤¯¤À¤µ¤¤¡£ + +=head1 Core Enhancements + +(¥³¥¢¤Î³ÈÄ¥) + +=head2 The isa Operator + +(isa ±é»»»Ò) + +=begin original + +A new experimental infix operator called C<isa> tests whether a given object +is an instance of a given class or a class derived from it: + +=end original + +C<isa> ¤È¤¤¤¦Ì¾Á°¤Î¿·¤·¤¤¼Â¸³Åª¤ÊÆó¹à±é»»»Ò¤Ï¡¢ +Í¿¤¨¤é¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤¬»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤Þ¤¿¤Ï¤½¤ÎÇÉÀ¸¥¯¥é¥¹¤Î +¥¤¥ó¥¹¥¿¥ó¥¹¤«¤É¤¦¤«¤ò¥Æ¥¹¥È¤·¤Þ¤¹: + + if( $obj isa Package::Name ) { ... } + +=begin original + +For more detail see L<perlop/Class Instance Operator>. + +=end original + +¤µ¤é¤Ê¤ë¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï L<perlop/Class Instance Operator> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ + +=head2 Unicode 13.0 is supported + +(Unicode 13.0 Âбþ) + +=begin original + +See L<https://www.unicode.org/versions/Unicode13.0.0/> for details. + +=end original + +¾Ü¤·¤¯¤Ï L<https://www.unicode.org/versions/Unicode13.0.0/> ¤ò +»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ + +=head2 Chained comparisons capability + +(Ï¢º¿Èæ³Óµ¡Ç½) + +=begin original + +Some comparison operators, as their associativity, I<chain> with some +operators of the same precedence (but never with operators of different +precedence). + +=end original + +°ìÉô¤ÎÈæ³Ó±é»»»Ò¤Ï¡¢¤½¤Î·ë¹çÀ¤Ë¤è¤ê¡¢Æ±¤¸Í¥Àè½ç°Ì¤ò»ý¤Ä¤¤¤¯¤Ä¤«¤Î +±é»»»Ò¤È I<Ï¢º¿> ¤·¤Þ¤¹ (¤·¤«¤·°Û¤Ê¤Ã¤¿Í¥Àè½ç°Ì¤ò»ý¤Ä±é»»»Ò¤È +Ï¢º¿¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó)¡£ + + if ( $x < $y <= $z ) {...} + +=begin original + +behaves exactly like: + +=end original + +¤³¤ì¤ÏÀµ³Î¤Ë¼¡¤Î¤è¤¦¤Ë¿¶¤ëÉñ¤¤¤Þ¤¹: + + if ( $x < $y && $y <= $z ) {...} + +=begin original + +(assuming that C<"$y"> is as simple a scalar as it looks.) + +=end original + +(C<"$y"> ¤Ï¸«¤¿ÌÜÄ̤ê¤Ëñ½ã¤Ê¥¹¥«¥é¤È²¾Äꤷ¤Þ¤¹¡£) + +=begin original + +You can read more about this in L<perlop> under +L<perlop/Operator Precedence and Associativity>. + +=end original + +L<perlop> ¤Î L<perlop/Operator Precedence and Associativity> ¤Ç +¤³¤ì¤Ë¤Ä¤¤¤Æ¤µ¤é¤ËÆɤळ¤È¤¬¤Ç¤¤Þ¤¹¡£ + +=head2 New Unicode properties C<Identifier_Status> and C<Identifier_Type> supported + +(¿·¤·¤¤ Unicode ÆÃÀ C<Identifier_Status> ¤È C<Identifier_Type> ¤ËÂбþ) + +=begin original + +Unicode is in the process of revising its regular expression +requirements: L<https://www.unicode.org/draft/reports/tr18/tr18.html>. +As part of that they are wanting more properties to be exposed, ones +that aren't part of the strict UCD (Unicode character database). These +two are used for examining inputs for security purposes. Details on +their usage is at L<https://www.unicode.org/reports/tr39/proposed.html>. + +=end original + +Unicode ¤ÏÀµµ¬É½¸½Í×·ï¤Î¸«Ä¾¤·ºî¶ÈÃæ¤Ç¤¹: +L<https://www.unicode.org/draft/reports/tr18/tr18.html>¡£ +¤³¤Î°ì´Ä¤È¤·¤Æ¡¢¸·Ì©¤Ê UCD (Unicode character database) ¤Î°ìÉô¤Ç¤Ï¤Ê¤¤¡¢ +¤è¤ê¿¤¯¤ÎÆÃÀ¤òϪ½Ð¤µ¤»¤ë¤è¤¦¤Ëµá¤á¤Æ¤¤¤Þ¤¹¡£ +¤³¤ì¤éÆó¤Ä¤Ï¥»¥¥å¥ê¥Æ¥£¾å¤ÎÍýͳ¤ÇÆþÎϤò¸¡ºº¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ +¤³¤ì¤é¤Î»ÈÍÑË¡¤Î¾ÜºÙ¤Ï +L<https://www.unicode.org/reports/tr39/proposed.html> ¤Ë¤¢¤ê¤Þ¤¹¡£ + +=head2 It is now possible to write C<qr/\p{Name=...}/>, or +C<qr!\p{na=/(SMILING|GRINNING) FACE/}!> + +(C<qr/\p{Name=...}/> ¤ä C<qr!\p{na=/(SMILING|GRINNING) FACE/}!> ¤È½ñ¤±¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿) + +=begin original + +The Unicode Name property is now accessible in regular expression +patterns, as an alternative to C<\N{...}>. +A comparison of the two methods is given in +L<perlunicode/Comparison of \N{...} and \p{name=...}>. + +=end original + +C<\N{...}> ¤ÎÂåÂغö¤È¤·¤Æ¡¢Unicode Name ÆÃÀ¤¬Àµµ¬É½¸½¥Ñ¥¿¡¼¥óÃæ¤Ç +¥¢¥¯¥»¥¹²Äǽ¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +Æó¤Ä¤Î¼êË¡¤ÎÈæ³Ó¤Ï +L<perlunicode/Comparison of \N{...} and \p{name=...}> ¤Ë¤¢¤ê¤Þ¤¹¡£ + +=begin original + +The second example above shows that wildcard subpatterns are also usable +in this property. See L<perlunicode/Wildcards in Property Values>. + +=end original + +Á°½Ò¤Î 2 ÈÖÌܤÎÎã¤Ï¡¢¤³¤ÎÆÃÀ¤Ç¥ï¥¤¥ë¥É¥«¡¼¥ÉÉôʬ¥Ñ¥¿¡¼¥ó¤â»È¤¨¤ë¤³¤È¤ò +¼¨¤·¤Æ¤¤¤Þ¤¹¡£ +L<perlunicode/Wildcards in Property Values> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ + +=head2 Improvement of C<POSIX::mblen()>, C<mbtowc>, and C<wctomb> + +(C<POSIX::mblen()>, C<mbtowc>, C<wctomb> ¤Î²þÎÉ) + +=begin original + +The C<POSIX::mblen()>, C<mbtowc>, and C<wctomb> functions now +work on shift state locales and are thread-safe on C99 and above +compilers when executed on a platform that has locale thread-safety; the +length parameters are now optional. + +=end original + +C<POSIX::mblen()>, C<mbtowc>, C<wctomb> ´Ø¿ô¤Ï¡¢ +¾õÂÖÁ«°Ü¥í¥±¡¼¥ë¤ÇÆ°ºî¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¡¢ +¥í¥±¡¼¥ë¤¬¥¹¥ì¥Ã¥É¥»¡¼¥Õ¤Ê¥×¥í¥°¥é¥à¤Ç¼Â¹Ô¤µ¤ì¤ë¤È¤¡¢ +C99 °Ê¾å¤Î¥³¥ó¥Ñ¥¤¥é¤Ç¤Ï¥¹¥ì¥Ã¥É¥»¡¼¥Õ¤Ë¤Ê¤ê¤Þ¤·¤¿; +Ťµ¤Î°ú¿ô¤Ï¥ª¥×¥·¥ç¥ó¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=begin original + +These functions are always executed under the current C language locale. +(See L<perllocale>.) Most locales are stateless, but a few, notably the +very rarely encountered ISO 2022, maintain a state between calls to +these functions. Previously the state was cleared on every call, but +now the state is not reset unless the appropriate parameter is C<undef>. + +=end original + +¤³¤ì¤é¤Î´Ø¿ô¤Ï¾ï¤Ë¸½ºß¤Î C ¸À¸ì¤Î¥í¥±¡¼¥ë¤Î´ð¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ +(L<perllocale> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£) +¤Û¤È¤ó¤É¤Î¥í¥±¡¼¥ë¤Ï¥¹¥Æ¡¼¥È¥ì¥¹¤Ç¤¹¤¬¡¢¤¤¤¯¤Ä¤«¤Î¥í¥±¡¼¥ë¡¢ +ÆäˤȤƤ⵩¤ËÁø¶ø¤¹¤ë ISO 2022 ¤Ï¡¢¤³¤ì¤é¤Î´Ø¿ô¤Î¸Æ¤Ó½Ð¤·´Ö¤Ç +¾õÂÖ¤ò°Ý»ý¤·¤Þ¤¹¡£ +°ÊÁ°¤Ï¤³¤Î¾õÂ֤ϸƤӽФ·Ëè¤Ë¥¯¥ê¥¢¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢ +»ØÄꤵ¤ì¤¿°ú¿ô¤¬ C<undef> ¤Ç¤Ê¤¤¸Â¤ê¡¢¤³¤Î¾õÂ֤ϥꥻ¥Ã¥È¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ + +=begin original + +On threaded perls, the C99 functions L<mbrlen(3)>, L<mbrtowc(3)>, and +L<wcrtomb(3)>, when available, are substituted for the plain functions. +This makes these functions thread-safe when executing on a locale +thread-safe platform. + +=end original + +¥¹¥ì¥Ã¥ÉÂбþ perl ¤Ç¡¢C99 ´Ø¿ô L<mbrlen(3)>, L<mbrtowc(3)>, +L<wcrtomb(3)> ¤¬ÍøÍѲÄǽ¤Ê¤é¡¢Ä̾ï¤Î´Ø¿ô¤òÃÖ¤´¹¤¨¤Þ¤¹¡£ +¤³¤ì¤Ë¤è¤ê¡¢¥í¥±¡¼¥ë¤¬¥¹¥ì¥Ã¥É¥»¡¼¥Õ¤Ê¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¼Â¹Ô¤µ¤ì¤¿¤È¤¡¢ +¤³¤ì¤é¤Î´Ø¿ô¤â¥¹¥ì¥Ã¥É¥»¡¼¥Õ¤Ë¤Ê¤ê¤Þ¤¹¡£ + +=begin original + +The string length parameters in C<mblen> and C<mbtowc> are now optional; +useful only if you wish to restrict the length parsed in the source +string to less than the actual length. + +=end original + +C<mblen> ¤È C<mbtowc> ¤Ç¤Îʸ»úÎó¤ÎŤµ¤Î°ú¿ô¤Ï¥ª¥×¥·¥ç¥ó¤Ë¤Ê¤ê¤Þ¤·¤¿; +¥½¡¼¥¹Ê¸»úÎó¤ò¥Ñ¡¼¥¹¤¹¤ëŤµ¤ò¼ÂºÝ¤ÎŤµ¤è¤ê¤âû¤¯À©¸Â¤·¤¿¤¤¾ì¹ç¤Ë¤Î¤ß +ÍÍѤǤ¹¡£ + +=head2 Alpha assertions are no longer experimental + +(¥¢¥ë¥Õ¥¡¥¢¥µ¡¼¥È¤Ï¤â¤Ï¤ä¼Â¸³Åª¤Ç¤Ï¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿) + +=begin original + +See L<perlre/(*pla:pattern)>, L<perlre/(*plb:pattern)>, +L<perlre/(*nla:pattern)>>, and L<perlre/(*nlb:pattern)>. +Use of these no longer generates a warning; existing code that disables +the warning category C<experimental::alpha_assertions> will continue to work +without any changes needed. Enabling the category has no effect. + +=end original + +L<perlre/(*pla:pattern)>, L<perlre/(*plb:pattern)>, +L<perlre/(*nla:pattern)>>, L<perlre/(*nlb:pattern)> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +¤³¤ì¤é¤Î»ÈÍѤϤâ¤Ï¤ä·Ù¹ð¤ò½ÐÎϤ·¤Þ¤»¤ó; +·Ù¹ð¥«¥Æ¥´¥ê C<experimental::alpha_assertions> ¤ò̵¸ú¤Ë¤¹¤ë´û¸¤Î¥³¡¼¥É¤Ï +²¿¤ÎÊѹ¹¤ÎɬÍפâ¤Ê¤¯Æ°¤Â³¤±¤Þ¤¹¡£ +¤³¤Î¥«¥Æ¥´¥ê¤ò͸ú¤Ë¤·¤Æ¤â²¿¤âµ¯¤¤Þ¤»¤ó¡£ + +=head2 Script runs are no longer experimental + +(ÍÑ»úʤӤϤâ¤Ï¤ä¼Â¸³Åª¤Ç¤Ï¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿) + +=begin original + +See L<perlre/Script Runs>. Use of these no longer generates a warning; +existing code that disables the warning category +C<experimental::script_run> will continue to work without any +changes needed. Enabling the category has no effect. + +=end original + +L<perlre/Script Runs> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +¤³¤ì¤é¤Î»ÈÍѤϤâ¤Ï¤ä·Ù¹ð¤ò½ÐÎϤ·¤Þ¤»¤ó; +·Ù¹ð¥«¥Æ¥´¥ê C<experimental::script_run> ¤ò̵¸ú¤Ë¤¹¤ë´û¸¤Î¥³¡¼¥É¤Ï +²¿¤ÎÊѹ¹¤ÎɬÍפâ¤Ê¤¯Æ°¤Â³¤±¤Þ¤¹¡£ +¤³¤Î¥«¥Æ¥´¥ê¤ò͸ú¤Ë¤·¤Æ¤â²¿¤âµ¯¤¤Þ¤»¤ó¡£ + +=head2 Feature checks are now faster + +(µ¡Ç½¥Á¥§¥Ã¥¯¤¬¤è¤ê®¤¯¤Ê¤ê¤Þ¤·¤¿) + +=begin original + +Previously feature checks in the parser required a hash lookup when +features were set outside of a feature bundle, this has been optimized +to a bit mask check. [L<GH #17229|https://github.com/Perl/perl5/issues/17229>] + +=end original + +°ÊÁ°¤Ï¡¢µ¡Ç½¤¬µ¡Ç½¤Î«¤Î³°Â¦¤ÇÀßÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥Ñ¡¼¥µ¤Ç¤Îµ¡Ç½¥Á¥§¥Ã¥¯¤Ï +¥Ï¥Ã¥·¥å¤Î¸¡º÷¤¬É¬ÍפǤ·¤¿¡£ +¤³¤ì¤Ï¡¢¥Ó¥Ã¥È¥Þ¥¹¥¯¥Á¥§¥Ã¥¯¤ËºÇŬ²½¤µ¤ì¤Þ¤·¤¿¡£ +[L<GH #17229|https://github.com/Perl/perl5/issues/17229>] + +=head2 Perl is now developed on GitHub + +(Perl ¤Ï GitHub ¤Ç³«È¯¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿) + +=begin original + +Perl is now developed on GitHub. You can find us at +L<https://github.com/Perl/perl5>. + +=end original + +Perl ¤Ï GitHub ¤Ç³«È¯¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +L<https://github.com/Perl/perl5> ¤Ç¸«¤é¤ì¤Þ¤¹¡£ + +=begin original + +Non-security bugs should now be reported via GitHub. Security issues should +continue to be reported as documented in L<perlsec>. + +=end original + +È󥻥¥å¥ê¥Æ¥£¥Ð¥°¤Ï GitHub ·Ðͳ¤ÇÊó¹ð¤·¤Æ¤¯¤À¤µ¤¤¡£ +¥»¥¥å¥ê¥Æ¥£ÌäÂê¤Ï°ú¤Â³¤ L<perlsec> ¤Ë½ñ¤«¤ì¤Æ¤¤¤ëÊýË¡¤ÇÊó¹ð¤·¤Æ¤¯¤À¤µ¤¤¡£ + +=head2 Compiled patterns can now be dumped before optimization + +(¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥Ñ¥¿¡¼¥ó¤ÏºÇŬ²½¤µ¤ì¤ëÁ°¤Ë¥À¥ó¥×¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿) + +=begin original + +This is primarily useful for tracking down bugs in the regular +expression compiler. This dump happens on C<-DDEBUGGING> perls, if you +specify C<-Drv> on the command line; or on any perl if the pattern is +compiled within the scope of S<C<use re qw(Debug DUMP_PRE_OPTIMIZE)>> or +S<C<use re qw(Debug COMPILE EXTRA)>>. (All but the second case display +other information as well.) + +=end original + +¤³¤ì¤Ï¼ç¤ËÀµµ¬É½¸½¥³¥ó¥Ñ¥¤¥é¤ÎÃæ¤Î¥Ð¥°¤ò¸«¤Ä¤±½Ð¤¹¤Î¤ËÍÍѤǤ¹¡£ +¤³¤Î¥À¥ó¥×¤Ï C<-DDEBUGGING> perl ¤Ç¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë C<-Drv> ¤ò»ØÄꤹ¤ë¤«; +¥Ñ¥¿¡¼¥ó¤¬ +S<C<use re qw(Debug DUMP_PRE_OPTIMIZE)>> ¤Þ¤¿¤Ï +S<C<use re qw(Debug COMPILE EXTRA)>> ¤Î¥¹¥³¡¼¥×¤Î²¼¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¾ì¹ç¤Ï +Á´¤Æ¤Î perl ¤ÇȯÀ¸¤·¤Þ¤¹ +(2 ÈÖÌܰʳ°¤ÎÁ´¤Æ¤Î¾ì¹ç¤Ï¾¤Î¾ðÊó¤âɽ¼¨¤µ¤ì¤Þ¤¹¡£) + +=head1 Security + +(¥»¥¥å¥ê¥Æ¥£) + +=head2 [CVE-2020-10543] Buffer overflow caused by a crafted regular expression + +=begin original + +A signed C<size_t> integer overflow in the storage space calculations for +nested regular expression quantifiers could cause a heap buffer overflow in +Perl's regular expression compiler that overwrites memory allocated after the +regular expression storage space with attacker supplied data. + +=end original + +¥Í¥¹¥È¤·¤¿Àµµ¬É½¸½ÎÌ»ØÄê»Ò¤ÎÊÝ´É¥¹¥Ú¡¼¥¹¤Î·×»»¤Ç¤Î +Éä¹æÉÕ¤ C<size_t> À°¿ô¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤ò°ú¤µ¯¤³¤¹¤³¤È¤¬¤¢¤ê¤Þ¤¹; +¤³¤ì¤Ë¤è¤ê Perl ¤ÎÀµµ¬É½¸½¥³¥ó¥Ñ¥¤¥é¤¬¡¢ +¹¶·â¼Ô¤¬Ä󶡤·¤¿¥Ç¡¼¥¿¤ÎÀµµ¬É½¸½ÊÝ´É¥¹¥Ú¡¼¥¹¤Î¸å¤í¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿ +¥á¥â¥ê¤ò¾å½ñ¤¤¹¤ë¤È¤¤¤¦¡¢ +¥Ò¡¼¥×¥Ð¥Ã¥Õ¥¡¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤ò°ú¤µ¯¤³¤¹¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ + +=begin original + +The target system needs a sufficient amount of memory to allocate partial +expansions of the nested quantifiers prior to the overflow occurring. This +requirement is unlikely to be met on 64-bit systems. + +=end original + +¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤Ï¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¬µ¯¤¤ëÁ°¤Ë¡¢¥Í¥¹¥È¤·¤¿ÎÌ»ØÄê»Ò¤Î +ÉôʬŪ¤Ê½½Ê¬¤ÊÎ̤Υá¥â¥ê¤¬É¬ÍפǤ¹¡£ +¤³¤ÎÍ×µá¤ò 64 ¥Ó¥Ã¥È¥·¥¹¥Æ¥à¤ÇËþ¤¿¤¹¤³¤È¤Ï¤ª¤½¤é¤¯¤Ç¤¤Ê¤¤¤Ç¤·¤ç¤¦¡£ + +=begin original + +Discovered by: ManhND of The Tarantula Team, VinCSS (a member of Vingroup). + +=end original + +ManhND of The Tarantula Team, VinCSS (Vingroup ¤Î¥á¥ó¥Ð¡¼) ¤Ë¤è¤Ã¤Æ +ȯ¸«¤µ¤ì¤Þ¤·¤¿¡£ + +=head2 [CVE-2020-10878] Integer overflow via malformed bytecode produced by a crafted regular expression + +=begin original + +Integer overflows in the calculation of offsets between instructions for the +regular expression engine could cause corruption of the intermediate language +state of a compiled regular expression. An attacker could abuse this behaviour +to insert instructions into the compiled form of a Perl regular expression. + +=end original + +Àµµ¬É½¸½¥¨¥ó¥¸¥ó¤ÎÌ¿Îá¤Î´Ö¤Ç¤Î¥ª¥Õ¥»¥Ã¥È¤ÎÀ°¿ô¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤Ë¤è¤ê¡¢ +¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿Àµµ¬É½¸½¤ÎÃæ´Ö¸À¸ì¾õÂÖ¤¬Ç˲õ¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ +¹¶·â¼Ô¤Ï¤³¤Î¿¶¤ëÉñ¤¤¤ò¡¢Perl Àµµ¬É½¸½¤Î¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿·Á¼°¤ËÌ¿Îá¤ò +ÁÞÆþ¤¹¤ë¤³¤È¤Ë°ÍѤǤ¤Þ¤¹¡£ + +=begin original + +Discovered by: Hugo van der Sanden and Slaven Rezic. + +=end original + +Hugo van der Sanden ¤È Slaven Rezic ¤Ë¤è¤Ã¤Æȯ¸«¤µ¤ì¤Þ¤·¤¿¡£ + +=head2 [CVE-2020-12723] Buffer overflow caused by a crafted regular expression + +=begin original + +Recursive calls to C<S_study_chunk()> by Perl's regular expression compiler to +optimize the intermediate language representation of a regular expression could +cause corruption of the intermediate language state of a compiled regular +expression. + +=end original + +Àµµ¬É½¸½¤ÎÃæ´Ö¸À¸ìɽ¸½¤òºÇŬ²½¤¹¤ë¤¿¤á¤Ë¡¢ +Perl ¤ÎÀµµ¬É½¸½¥³¥ó¥Ñ¥¤¥é¤¬ C<S_study_chunk()> ¤òºÆµ¢¸Æ¤Ó½Ð¤·¤¹¤ë¤³¤È¤Ç¡¢ +¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿Àµµ¬É½¸½¤ÎÃæ´Ö¸À¸ì¾õÂÖ¤¬Ç˲õ¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ + +=begin original + +Discovered by: Sergey Aleynikov. + +=end original + +Sergey Aleynikov ¤Ë¤è¤Ã¤Æȯ¸«¤µ¤ì¤Þ¤·¤¿¡£ + +=head2 Additional Note + +(ÄɲäÎÃí°Õ) + +=begin original + +An application written in Perl would only be vulnerable to any of the above +flaws if it evaluates regular expressions supplied by the attacker. Evaluating +regular expressions in this fashion is known to be dangerous since the regular +expression engine does not protect against denial of service attacks in this +usage scenario. + +=end original + +Perl ¤Ç½ñ¤«¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¹¶·â¼Ô¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤¿Àµµ¬É½¸½¤ò +ɾ²Á¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Î¤ß¡¢Á°½Ò¤ÎÉÔ¶ñ¹ç¤ËÂФ·¤ÆÀȼå¤Ç¤¹¡£ +¤³¤Î¤è¤¦¤ÊÊýË¡¤ÇÀµµ¬É½¸½¤òɾ²Á¤¹¤ë¤³¤È¤Ï¡¢´í¸±¤Ç¤¢¤ë¤³¤È¤¬ÃΤé¤ì¤Æ¤¤¤Þ¤¹; +Àµµ¬É½¸½¥¨¥ó¥¸¥ó¤Ï¤³¤Î¤è¤¦¤Ê»ÈÍÑ¥·¥Ê¥ê¥ª¤Ç¤Î¥µ¡¼¥Ó¥¹ÉÔǽ¹¶·â¤«¤é +¼é¤é¤ì¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£ + +=head1 Incompatible Changes + +(¸ß´¹À¤Î¤Ê¤¤Êѹ¹) + +=head2 Certain pattern matching features are now prohibited in compiling +Unicode property value wildcard subpatterns + +(¤¢¤ë¼ï¤Î¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¥ó¥°µ¡Ç½¤Ï¡¢Unicode ÆÃÀÃͥ磻¥ë¥É¥«¡¼¥ÉÉôʬ¥Ñ¥¿¡¼¥ó¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¶Ø»ß¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿) + +=begin original + +These few features are either inappropriate or interfere with the +algorithm used to accomplish this task. The complete list is in +L<perlunicode/Wildcards in Property Values>. + +=end original + +¤³¤ì¤é¤Î¤Û¤ó¤Î°ìÉô¤Îµ¡Ç½¤Ï¡¢ÉÔŬÀÚ¤«¡¢¤³¤Îºî¶È¤òãÀ®¤¹¤ë¤Î¤Ë +»È¤ï¤ì¤ë¥¢¥ë¥´¥ê¥º¥à¤ò˸³²¤·¤Þ¤¹¡£ +´°Á´¤Ê¥ê¥¹¥È¤Ï L<perlunicode/Wildcards in Property Values> ¤Ë¤¢¤ê¤Þ¤¹¡£ + +=head2 Unused functions C<POSIX::mbstowcs> and C<POSIX::wcstombs> are removed + +(̤»ÈÍÑ´Ø¿ô C<POSIX::mbstowcs> ¤È C<POSIX::wcstombs> ¤Ïºï½ü¤µ¤ì¤Þ¤·¤¿) + +=begin original + +These functions could never have worked due to a defective interface +specification. There is clearly no demand for them, given that no one +has ever complained in the many years the functions were claimed to be +available, hence so-called "support" for them is now dropped. + +=end original + +¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢·ç´Ù¤Î¤¢¤ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹ÄêµÁ¤Î¤¿¤á¤ËÁ´¤¯ +Æ°ºî¤·¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£ +¤³¤Î´Ø¿ô¤¬ÍøÍѲÄǽ¤Ç¤¢¤ë¤È¼çÄ¥¤·¤Æ¤«¤é²¿Ç¯´Ö¤âï¤â¶ì¾ð¤ò¸À¤ï¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢ +ÌÀ¤é¤«¤Ë¤³¤ì¤é¤Î¼ûÍפϤ¢¤ê¤Þ¤»¤ó; ½¾¤Ã¤Æ¤³¤ì¤é¤ËÂФ¹¤ë¡ÖÂбþ¡×¤Ï +ºï½ü¤µ¤ì¤Þ¤·¤¿¡£ + +=head2 A bug fix for C<(?[...])> may have caused some patterns to no +longer compile + +(C<(?[...])> ¤Î¥Ð¥°½¤Àµ¤Ë¤è¤ê¡¢°ìÉô¤Î¥Ñ¥¿¡¼¥ó¤Ï¤â¤Ï¤ä¥³¥ó¥Ñ¥¤¥ë½ÐÍè¤Ê¤¯¤Ê¤Ã¤¿¤«¤â¤·¤ì¤Þ¤»¤ó) + +=begin original + +See L</Selected Bug Fixes>. The heuristics previously used may have let +some constructs compile (perhaps not with the programmer's intended +effect) that should have been errors. None are known, but it is +possible that some erroneous constructs no longer compile. + +=end original + +L</Selected Bug Fixes> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +°ÊÁ°»È¤ï¤ì¤Æ¤¤¤¿·Ð¸³Â§¤Ç¤Ï¡¢¥¨¥é¡¼¤Ë¤Ê¤ë¤Ù¤°ìÉô¤Î¹½Ê¸¤¬ +(¤ª¤½¤é¤¯¥×¥í¥°¥é¥Þ¤Î°Õ¿Þ¤·¤Ê¤¤¸ú²Ì¤È¤·¤Æ)¥³¥ó¥Ñ¥¤¥ë½ÐÍè¤Æ¤¤¤¿¤«¤â¤·¤ì¤Þ¤»¤ó¡£ +¸½ºßÃΤé¤ì¤Æ¤¤¤ë¤â¤Î¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢°ìÉô¤Î¸í¤Ã¤¿¹½Ê¸¤¬¤â¤Ï¤ä +¥³¥ó¥Ñ¥¤¥ë½ÐÍè¤Ê¤¯¤Ê¤Ã¤¿²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£ + +=head2 C<\p{I<user-defined>}> properties now always override official +Unicode ones + +(C<\p{I<user-defined>}> ÆÃÀ¤Ï¾ï¤Ë¸øŪ¤Ê Unicode ¤Î¤â¤Î¤ò¾å½ñ¤¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿) + +=begin original + +Previously, if and only if a user-defined property was declared prior to +the compilation of the regular expression pattern that contains it, its +definition was used instead of any official Unicode property with the +same name. Now, it always overrides the official property. This +change could break existing code that relied (likely unwittingly) on the +previous behavior. Without this fix, if Unicode released a new version +with a new property that happens to have the same name as the one you +had long been using, your program would break when you upgraded to a +perl that used that new Unicode version. See L<perlunicode/User-Defined +Character Properties>. [L<GH #17205|https://github.com/Perl/perl5/issues/17205>] + +=end original + +°ÊÁ°¤Ï¡¢¥æ¡¼¥¶¡¼ÄêµÁÆÃÀ¤¬¤½¤ì¤ò´Þ¤àÀµµ¬É½¸½¥Ñ¥¿¡¼¥ó¤Î¥³¥ó¥Ñ¥¤¥ë¤è¤ê +Á°¤ËÀë¸À¤µ¤ì¤¿¾ì¹ç¤Ë¤Î¤ß¡¢ +¤½¤ÎÄêµÁ¤Ï¡¢Æ±¤¸Ì¾Á°¤Î¸ø¼° Unicode ÆÃÀ¤ÎÂå¤ï¤ê¤Ë»È¤ï¤ì¤Æ¤¤¤Þ¤·¤¿¡£ +¤³¤ì¤Ï¡¢¾ï¤Ë¸ø¼°ÆÃÀ¤ò¾å½ñ¤¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +¤³¤ÎÊѹ¹¤Ï¡¢°ÊÁ°¤Î¿¶¤ëÉñ¤¤¤Ë(¤ª¤½¤é¤¯¤¦¤Ã¤«¤ê)°Í¸¤·¤Æ¤¤¤¿´û¸¤Î¥³¡¼¥É¤ò +²õ¤¹¤«¤â¤·¤ì¤Þ¤»¤ó¡£ +¤³¤Î½¤Àµ¤Ê¤·¤Ç¤Ï¡¢¤â¤· Unicode ¤¬¡¢¤¿¤Þ¤¿¤Þ¤¢¤Ê¤¿¤¬Ä¹¤¤´Ö»È¤Ã¤Æ¤¤¤¿¤Î¤È +Ʊ¤¸Ì¾Á°¤Î¿·¤·¤¤ÆÃÀ¤ò»ý¤Ä¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤ò¥ê¥ê¡¼¥¹¤¹¤ë¤È¡¢ +¤¢¤Ê¤¿¤Î¥×¥í¥°¥é¥à¤Ï¡¢¤½¤Î¿·¤·¤¤ Unicode ¥Ð¡¼¥¸¥ç¥ó¤ò»È¤¦ perl ¤Ë +¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤¿¤È¤¤Ë¡¢²õ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +L<perlunicode/User-Defined Character Properties> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +[L<GH #17205|https://github.com/Perl/perl5/issues/17205>] + +=head2 Modifiable variables are no longer permitted in constants + +(Êѹ¹²Äǽ¤ÊÊÑ¿ô¤ÏÄê¿ô¤ÎÃæ¤Ç¤Ï¤â¤Ï¤äµö¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿) + +=begin original + +Code like: + +=end original + +¼¡¤Î¤è¤¦¤Ê¥³¡¼¥É¤Ç: + + my $var; + $sub = sub () { $var }; + +=begin original + +where C<$var> is referenced elsewhere in some sort of modifiable context now +produces an exception when the sub is defined. + +=end original + +C<$var> ¤¬²¿¤é¤«¤ÎÊѹ¹²Äǽ¤ÊÆâÍƤؤΥê¥Õ¥¡¥ì¥ó¥¹¤Î¾ì¹ç¡¢ +¥µ¥Ö¥ë¡¼¥Á¥ó¤¬ÄêµÁ¤µ¤ì¤¿¤È¤¤ËÎã³°¤ò½ÐÎϤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=begin original + +This error can be avoided by adding a return to the sub definition: + +=end original + +¤³¤Î¥¨¥é¡¼¤Ï¡¢´Ø¿ôÄêµÁ¤Ë return ¤òÄɲ乤뤳¤È¤ÇÈò¤±¤é¤ì¤Þ¤¹: + + $sub = sub () { return $var }; + +=begin original + +This has been deprecated since Perl 5.22. +[L<perl #134138|https://rt.perl.org/Ticket/Display.html?id=134138>] + +=end original + +¤³¤ì¤Ï Perl 5.22 ¤«¤éÇÑ»ßͽÄê¤Ç¤·¤¿¡£ +[L<perl #134138|https://rt.perl.org/Ticket/Display.html?id=134138>] + +=head2 Use of L<C<vec>|perlfunc/vec EXPR,OFFSET,BITS> on strings with code points above 0xFF is forbidden + +(0xFF ¤òĶ¤¨¤ëÉä¹æ°ÌÃÖ¤Îʸ»úÎó¤ËÂФ¹¤ë L<C<vec>|perlfunc/vec EXPR,OFFSET,BITS> ¤Î»ÈÍѤ϶ػߤµ¤ì¤Þ¤·¤¿) + +=begin original + +Such strings are represented internally in UTF-8, and C<vec> is a +bit-oriented operation that will likely give unexpected results on those +strings. This was deprecated in perl 5.28.0. + +=end original + +¤³¤Î¤è¤¦¤Êʸ»úÎó¤ÏÆâÉô¤Ç¤Ï UTF-8 ¤Çɽ¸½¤µ¤ì¤Æ¤¤¤Æ¡¢ +C<vec> ¤Ï¥Ó¥Ã¥È»Ø¸þ±é»»¤Ê¤Î¤Ç¡¢¤ª¤½¤é¤¯¤³¤ì¤é¤Îʸ»úÎó¤ËÂФ·¤Æ¤Ï +ÁÛÄê³°¤Î·ë²Ì¤Ë¤Ê¤ê¤Þ¤¹¡£ +¤³¤ì¤Ï perl 5.28.0 ¤ÇÇÑ»ßͽÄê¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤·¤¿¡£ + +=head2 Use of code points over 0xFF in string bitwise operators + +(0xFF ¤òĶ¤¨¤ëÉä¹æ°ÌÃÖ¤ËÂФ¹¤ëʸ»úÎó¥Ó¥Ã¥Èñ°Ì±é»»»Ò) + +=begin original + +Some uses of these were already illegal after a previous deprecation +cycle. The remaining uses are now prohibited, having been deprecated in perl +5.28.0. See L<perldeprecation>. + +=end original + +¤³¤ì¤é¤Î»ÈÍÑË¡¤Î°ìÉô¤Ï´û¤Ë°ÊÁ°¤ÎÇÑ»ßͽÄꥵ¥¤¥¯¥ë¤ÇÉÔÀµ¤Ê¤â¤Î¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤·¤¿¡£ +perl 5.28.0 ¤ÇÇÑ»ßͽÄê¤Ë¤Ê¤Ã¤Æ¤¤¤¿¡¢»Ä¤ê¤Î»ÈÍÑË¡¤â¶Ø»ß¤µ¤ì¤Þ¤·¤¿¡£ +L<perldeprecation> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ + +=head2 C<Sys::Hostname::hostname()> does not accept arguments + +(C<Sys::Hostname::hostname()> ¤Ï°ú¿ô¤òµö¤µ¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿) + +=begin original + +This usage was deprecated in perl 5.28.0 and is now fatal. + +=end original + +¤³¤Î»ÈÍÑË¡¤Ï perl 5.28.0 ¤«¤éÇÑ»ßͽÄê¤Ç¤·¤¿¤¬¡¢Ã×̿Ū¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=head2 Plain "0" string now treated as a number for range operator + +(Èϰϱ黻»Ò¤Ç¤Îñ¤Ê¤ëʸ»úÎó "0" ¤Ï¿ôÃͤȤ·¤Æ°·¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿) + +=begin original + +Previously a range C<"0" .. "-1"> would produce a range of numeric +strings from "0" through "99"; this now produces an empty list, just +as C<0 .. -1> does. This also means that C<"0" .. "9"> now produces a +list of integers, where previously it would produce a list of strings. + +=end original + +°ÊÁ°¤Ï¡¢ÈÏ°Ï C<"0" .. "-1"> ¤Ï "0" ¤«¤é "99" ¤Þ¤Ç¤Î¿ôÃÍʸ»úÎó¤ÎÈϰϤò +À¸À®¤·¤Æ¤¤¤Þ¤·¤¿; ¤³¤ì¤Ï C<0 .. -1> ¤ÈƱÍͤ˶õ¥ê¥¹¥È¤ò +À¸À®¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +¤Þ¤¿¡¢C<"0" .. "9"> ¤Ï°ÊÁ°¤Ïʸ»úÎó¤Î¥ê¥¹¥È¤òÀ¸À®¤·¤Æ¤¤¤Þ¤·¤¿¤¬¡¢ +À°¿ô¤Î¥ê¥¹¥È¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=begin original + +This was due to a special case that treated strings starting with "0" +as strings so ranges like C<"00" .. "03"> produced C<"00", "01", "02", "03">, +but didn't specially handle the string C<"0">. +[L<perl #133695|https://rt.perl.org/Ticket/Display.html?id=133695>] + +=end original + +¤³¤ì¤Ï¡¢ÀèƬ¤¬ "0" ¤Ç»Ï¤Þ¤ëʸ»úÎó¤òʸ»úÎó¤È¤·¤Æ°·¤¦Æü쥱¡¼¥¹¤Î¤¿¤á¤Ç¡¢ +C<"00" .. "03"> ¤Î¤è¤¦¤ÊÈÏ°Ï¤Ï C<"00", "01", "02", "03"> ¤òÀ¸À®¤·¤Þ¤¹¤¬¡¢ +ʸ»úÎó C<"0"> ¤ÏÆä˰·¤Ã¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£ +[L<perl #133695|https://rt.perl.org/Ticket/Display.html?id=133695>] + +=head2 C<\K> now disallowed in look-ahead and look-behind assertions + +(C<\K> ¤ÏÀèÆɤߤȸåÆɤߤθÀÌÀ¤Ç¤Ïµö¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿) + +=begin original + +This was disallowed because it causes unexpected behaviour, and no-one +could define what the desired behaviour should be. +[L<perl #124256|https://rt.perl.org/Ticket/Display.html?id=124256>] + +=end original + +¤³¤ì¤Ï¡¢ÁÛÄê³°¤Î¿¶¤ëÉñ¤¤¤ò°ú¤µ¯¤³¤·¡¢Ë¾¤Þ¤ì¤ë¿¶¤ëÉñ¤¤¤¬¤É¤¦¤¢¤ë¤Ù¤¤« +ï¤âÄêµÁ¤Ç¤¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢µö¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ +[L<perl #124256|https://rt.perl.org/Ticket/Display.html?id=124256>] + +=head1 Performance Enhancements + +(Àǽ²þÁ±) + +=over 4 + +=item * + +=begin original + +C<my_strnlen> has been sped up for systems that don't have their own +C<strnlen> implementation. + +=end original + +C<my_strnlen> ¤Ï¡¢¼«¿È¤Î C<strnlen> ¼ÂÁõ¤ò»ý¤¿¤Ê¤¤¥·¥¹¥Æ¥à¤Ç +¹â®²½¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +C<grok_bin_oct_hex> (and so, C<grok_bin>, C<grok_oct>, and C<grok_hex>) +have been sped up. + +=end original + +C<grok_bin_oct_hex> (¤ª¤è¤Ó C<grok_bin>, C<grok_oct>, C<grok_hex>) ¤Ï +¹â®²½¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +C<grok_number_flags> has been sped up. + +=end original + +C<grok_number_flags> ¤Ï¹â®²½¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +C<sort> is now noticeably faster in cases such as C<< sort {$a <=> $b} >> or +C<< sort {$b <=> $a} >>. [L<GH #17608|https://github.com/Perl/perl5/pull/17608>] + +=end original + +C<sort> ¤Ï¡¢C<< sort {$a <=> $b} >> ¤ä C<< sort {$b <=> $a} >> ¤Î¤è¤¦¤Ê¾ì¹ç¤Ë +Ãø¤·¤¯Â®¤¯¤Ê¤ê¤Þ¤·¤¿¡£ +[L<GH #17608|https://github.com/Perl/perl5/pull/17608>] + +=back + +=head1 Modules and Pragmata + +(¥â¥¸¥å¡¼¥ë¤È¥×¥é¥°¥Þ) + +=head2 Updated Modules and Pragmata + +(¹¹¿·¤µ¤ì¤¿¥â¥¸¥å¡¼¥ë¤È¥×¥é¥°¥Þ) + +=over 4 + +=item * + +=begin original + +L<Archive::Tar> has been upgraded from version 2.32 to 2.36. + +=end original + +L<Archive::Tar> ¤Ï¥Ð¡¼¥¸¥ç¥ó 2.32 ¤«¤é 2.36 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<autodie> has been upgraded from version 2.29 to 2.32. + +=end original + +L<autodie> ¤Ï¥Ð¡¼¥¸¥ç¥ó 2.29 ¤«¤é 2.32 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<B> has been upgraded from version 1.76 to 1.80. + +=end original + +L<B> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.76 ¤«¤é 1.80 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<B::Deparse> has been upgraded from version 1.49 to 1.54. + +=end original + +L<B::Deparse> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.49 ¤«¤é 1.54 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Benchmark> has been upgraded from version 1.22 to 1.23. + +=end original + +L<Benchmark> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.22 ¤«¤é 1.23 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<charnames> has been upgraded from version 1.45 to 1.48. + +=end original + +L<charnames> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.45 ¤«¤é 1.48 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Class::Struct> has been upgraded from version 0.65 to 0.66. + +=end original + +L<Class::Struct> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.65 ¤«¤é 0.66 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Compress::Raw::Bzip2> has been upgraded from version 2.084 to 2.093. + +=end original + +L<Compress::Raw::Bzip2> ¤Ï¥Ð¡¼¥¸¥ç¥ó 2.084 ¤«¤é 2.093 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Compress::Raw::Zlib> has been upgraded from version 2.084 to 2.093. + +=end original + +L<Compress::Raw::Zlib> ¤Ï¥Ð¡¼¥¸¥ç¥ó 2.084 ¤«¤é 2.093 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<CPAN> has been upgraded from version 2.22 to 2.27. + +=end original + +L<CPAN> ¤Ï¥Ð¡¼¥¸¥ç¥ó 2.22 ¤«¤é 2.27 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<DB_File> has been upgraded from version 1.843 to 1.853. + +=end original + +L<DB_File> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.843 ¤«¤é 1.853 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Devel::PPPort> has been upgraded from version 3.52 to 3.57. + +=end original + +L<Devel::PPPort> ¤Ï¥Ð¡¼¥¸¥ç¥ó 3.52 ¤«¤é 3.57 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=begin original + +The test files generated on Win32 are now identical to when they are +generated on POSIX-like systems. + +=end original + +Win32 ¤ÇÀ¸À®¤µ¤ì¤¿¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¡¢ +POSIX É÷¥·¥¹¥Æ¥à¤ÇºîÀ®¤µ¤ì¤¿¤â¤Î¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<diagnostics> has been upgraded from version 1.36 to 1.37. + +=end original + +L<diagnostics> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.36 ¤«¤é 1.37 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Digest::MD5> has been upgraded from version 2.55 to 2.55_01. + +=end original + +L<Digest::MD5> ¤Ï¥Ð¡¼¥¸¥ç¥ó 2.55 ¤«¤é 2.55_01 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Dumpvalue> has been upgraded from version 1.18 to 1.21. + +=end original + +L<Dumpvalue> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.18 ¤«¤é 1.21 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=begin original + +Previously, when dumping elements of an array and encountering an undefined +value, the string printed would have been C<empty array>. This has been +changed to what was apparently originally intended: C<empty slot>. + +=end original + +°ÊÁ°¤Ï¡¢ÇÛÎó¤ÎÍ×ÁǤò¥À¥ó¥×Ãæ¤Ë̤ÄêµÁÃͤËÁø¶ø¤¹¤ë¤È¡¢ +ɽ¼¨¤µ¤ì¤ëʸ»úÎó¤Ï C<empty array> ¤Ç¤·¤¿¡£ +¤³¤ì¤Ï¡¢¤ª¤½¤é¤¯ºÇ½é¤Ë°Õ¿Þ¤·¤Æ¤¤¤¿¤â¤Î¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿: C<empty slot>¡£ + +=item * + +=begin original + +L<DynaLoader> has been upgraded from version 1.45 to 1.47. + +=end original + +L<DynaLoader> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.45 ¤«¤é 1.47 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Encode> has been upgraded from version 3.01 to 3.06. + +=end original + +L<Encode> ¤Ï¥Ð¡¼¥¸¥ç¥ó 3.01 ¤«¤é 3.06 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<encoding> has been upgraded from version 2.22 to 3.00. + +=end original + +L<encoding> ¤Ï¥Ð¡¼¥¸¥ç¥ó 2.22 ¤«¤é 3.00 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<English> has been upgraded from version 1.10 to 1.11. + +=end original + +L<English> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.10 ¤«¤é 1.11 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Exporter> has been upgraded from version 5.73 to 5.74. + +=end original + +L<Exporter> ¤Ï¥Ð¡¼¥¸¥ç¥ó 5.73 ¤«¤é 5.74 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<ExtUtils::CBuilder> has been upgraded from version 0.280231 to 0.280234. + +=end original + +L<ExtUtils::CBuilder> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.280231 ¤«¤é 0.280234 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<ExtUtils::MakeMaker> has been upgraded from version 7.34 to 7.44. + +=end original + +L<ExtUtils::MakeMaker> ¤Ï¥Ð¡¼¥¸¥ç¥ó 7.34 ¤«¤é 7.44 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<feature> has been upgraded from version 1.54 to 1.58. + +=end original + +L<feature> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.54 ¤«¤é 1.58 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=begin original + +A new C<indirect> feature has been added, which is enabled by default +but allows turning off L<indirect object syntax|perlobj/Indirect +Object Syntax>. + +=end original + +¿·¤·¤¤ C<indirect> µ¡Ç½¤¬Äɲ䵤ì¤Þ¤·¤¿; ¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï͸ú¤Ç¤¹¤¬¡¢ +L<´ÖÀÜ¥ª¥Ö¥¸¥§¥¯¥Èʸˡ|perlobj/Indirect Object Syntax> ¤ò¥ª¥Õ¤Ë½ÐÍè¤Þ¤¹¡£ + +=item * + +=begin original + +L<File::Find> has been upgraded from version 1.36 to 1.37. + +=end original + +L<File::Find> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.36 ¤«¤é 1.37 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=begin original + +On Win32, the tests no longer require either a file in the drive root +directory, or a writable root directory. + +=end original + +Win32 ¤Ç¤Ï¡¢¥Õ¥¡¥¤¥ë¤¬¥É¥é¥¤¥Ö¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤«½ñ¤¹þ¤ß²Äǽ¤Ê +¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë¤³¤È¤Î¥Æ¥¹¥È¤Ï¤â¤Ï¤äÍ׵ᤵ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<File::Glob> has been upgraded from version 1.32 to 1.33. + +=end original + +L<File::Glob> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.32 ¤«¤é 1.33 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<File::stat> has been upgraded from version 1.08 to 1.09. + +=end original + +L<File::stat> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.08 ¤«¤é 1.09 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Filter::Simple> has been upgraded from version 0.95 to 0.96. + +=end original + +L<Filter::Simple> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.95 ¤«¤é 0.96 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Getopt::Long> has been upgraded from version 2.5 to 2.51. + +=end original + +L<Getopt::Long> ¤Ï¥Ð¡¼¥¸¥ç¥ó 2.5 ¤«¤é 2.51 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Hash::Util> has been upgraded from version 0.22 to 0.23. + +=end original + +L<Hash::Util> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.22 ¤«¤é 0.23 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=begin original + +The Synopsis has been updated as the example code stopped working with +newer perls. +[L<GH #17399|https://github.com/Perl/perl5/issues/17399>] + +=end original + +Îã¤Î¥³¡¼¥É¤¬¿·¤·¤¤ perl ¤ÇÆ°ºî¤·¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤¿¤Î¤Ç¡¢³µÍפ¬¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ +[L<GH #17399|https://github.com/Perl/perl5/issues/17399>] + +=item * + +=begin original + +L<I18N::Langinfo> has been upgraded from version 0.18 to 0.19. + +=end original + +L<I18N::Langinfo> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.18 ¤«¤é 0.19 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<I18N::LangTags> has been upgraded from version 0.43 to 0.44. + +=end original + +L<I18N::LangTags> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.43 ¤«¤é 0.44 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=begin original + +Document the C<IGNORE_WIN32_LOCALE> environment variable. + +=end original + +C<IGNORE_WIN32_LOCALE> ´Ä¶ÊÑ¿ô¤¬Ê¸½ñ²½¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<IO> has been upgraded from version 1.40 to 1.43. + +=end original + +L<IO> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.40 ¤«¤é 1.43 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=begin original + +L<IO::Socket> no longer caches a zero protocol value, since this +indicates that the implementation will select a protocol. This means +that on platforms that don't implement C<SO_PROTOCOL> for a given +socket type the protocol method may return C<undef>. + +=end original + +L<IO::Socket> ¤Ï¤â¤Ï¤ä¥×¥í¥È¥³¥ë¤ÎÃͤΠ0 ¤ò¥¥ã¥Ã¥·¥å¤·¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿; +¤Ê¤¼¤Ê¤é¤³¤ì¤Ï¼ÂÁõ¤¬¥×¥í¥È¥³¥ë¤òÁª¤Ö¤³¤È¤ò¼¨¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£ +¤Ä¤Þ¤ê¡¢Í¿¤¨¤é¤ì¤¿¥½¥±¥Ã¥È·¿¤ËÂФ·¤Æ C<SO_PROTOCOL> ¤¬¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤ +¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¡¢protocol ¥á¥½¥Ã¥É¤Ï C<undef> ¤ò +ÊÖ¤¹¤«¤â¤·¤ì¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ + +=begin original + +The supplied I<TO> is now always honoured on calls to the C<send()> +method. [L<perl #133936|https://rt.perl.org/Ticket/Display.html?id=133936>] + +=end original + +»ØÄꤵ¤ì¤¿ I<TO> ¤Ï¾ï¤Ë C<send()> ¥á¥½¥Ã¥É¤Ç¸ú²Ì¤ò»ý¤Ä¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +[L<perl #133936|https://rt.perl.org/Ticket/Display.html?id=133936>] + +=item * + +=begin original + +IO-Compress has been upgraded from version 2.084 to 2.093. + +=end original + +IO-Compress ¤Ï¥Ð¡¼¥¸¥ç¥ó 2.084 ¤«¤é 2.093 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<IPC::Cmd> has been upgraded from version 1.02 to 1.04. + +=end original + +L<IPC::Cmd> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.02 ¤«¤é 1.04 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<IPC::Open3> has been upgraded from version 1.20 to 1.21. + +=end original + +L<IPC::Open3> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.20 ¤«¤é 1.21 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<JSON::PP> has been upgraded from version 4.02 to 4.04. + +=end original + +L<JSON::PP> ¤Ï¥Ð¡¼¥¸¥ç¥ó 4.02 ¤«¤é 4.04 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Math::BigInt> has been upgraded from version 1.999816 to 1.999818. + +=end original + +L<Math::BigInt> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.999816 ¤«¤é 1.999818 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Math::BigInt::FastCalc> has been upgraded from version 0.5008 to 0.5009. + +=end original + +L<Math::BigInt::FastCalc> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.5008 ¤«¤é 0.5009 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Module::CoreList> has been upgraded from version 5.20190522 to 5.20200620. + +=end original + +L<Module::CoreList> ¤Ï¥Ð¡¼¥¸¥ç¥ó 5.20190522 ¤«¤é 5.20200620 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Module::Load::Conditional> has been upgraded from version 0.68 to 0.70. + +=end original + +L<Module::Load::Conditional> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.68 ¤«¤é 0.70 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Module::Metadata> has been upgraded from version 1.000036 to 1.000037. + +=end original + +L<Module::Metadata> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.000036 ¤«¤é 1.000037 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<mro> has been upgraded from version 1.22 to 1.23. + +=end original + +L<mro> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.22 ¤«¤é 1.23 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Net::Ping> has been upgraded from version 2.71 to 2.72. + +=end original + +L<Net::Ping> ¤Ï¥Ð¡¼¥¸¥ç¥ó 2.71 ¤«¤é 2.72 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Opcode> has been upgraded from version 1.43 to 1.47. + +=end original + +L<Opcode> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.43 ¤«¤é 1.47 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<open> has been upgraded from version 1.11 to 1.12. + +=end original + +L<open> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.11 ¤«¤é 1.12 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<overload> has been upgraded from version 1.30 to 1.31. + +=end original + +L<overload> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.30 ¤«¤é 1.31 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<parent> has been upgraded from version 0.237 to 0.238. + +=end original + +L<parent> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.237 ¤«¤é 0.238 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<perlfaq> has been upgraded from version 5.20190126 to 5.20200523. + +=end original + +L<perlfaq> ¤Ï¥Ð¡¼¥¸¥ç¥ó 5.20190126 ¤«¤é 5.20200523 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<PerlIO> has been upgraded from version 1.10 to 1.11. + +=end original + +L<PerlIO> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.10 ¤«¤é 1.11 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<PerlIO::encoding> has been upgraded from version 0.27 to 0.28. + +=end original + +L<PerlIO::encoding> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.27 ¤«¤é 0.28 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<PerlIO::via> has been upgraded from version 0.17 to 0.18. + +=end original + +L<PerlIO::via> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.17 ¤«¤é 0.18 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Pod::Html> has been upgraded from version 1.24 to 1.25. + +=end original + +L<Pod::Html> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.24 ¤«¤é 1.25 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Pod::Simple> has been upgraded from version 3.35 to 3.40. + +=end original + +L<Pod::Simple> ¤Ï¥Ð¡¼¥¸¥ç¥ó 3.35 ¤«¤é 3.40 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<podlators> has been upgraded from version 4.11 to 4.14. + +=end original + +L<podlators> ¤Ï¥Ð¡¼¥¸¥ç¥ó 4.11 ¤«¤é 4.14 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<POSIX> has been upgraded from version 1.88 to 1.94. + +=end original + +L<POSIX> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.88 ¤«¤é 1.94 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<re> has been upgraded from version 0.37 to 0.40. + +=end original + +L<re> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.37 ¤«¤é 0.40 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Safe> has been upgraded from version 2.40 to 2.41. + +=end original + +L<Safe> ¤Ï¥Ð¡¼¥¸¥ç¥ó 2.40 ¤«¤é 2.41 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Scalar::Util> has been upgraded from version 1.50 to 1.55. + +=end original + +L<Scalar::Util> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.50 ¤«¤é 1.55 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<SelfLoader> has been upgraded from version 1.25 to 1.26. + +=end original + +L<SelfLoader> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.25 ¤«¤é 1.26 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Socket> has been upgraded from version 2.027 to 2.029. + +=end original + +L<Socket> ¤Ï¥Ð¡¼¥¸¥ç¥ó 2.027 ¤«¤é 2.029 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Storable> has been upgraded from version 3.15 to 3.21. + +=end original + +L<Storable> ¤Ï¥Ð¡¼¥¸¥ç¥ó 3.15 ¤«¤é 3.21 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=begin original + +Use of C<note()> from L<Test::More> is now optional in tests. This works +around a circular dependency with L<Test::More> when installing on very +old perls from CPAN. + +=end original + +L<Test::More> ¤«¤é¤Î C<note()> ¤Î»ÈÍѤϥƥ¹¥È¤Ç¥ª¥×¥·¥ç¥ó¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +¤³¤ì¤Ï¡¢CPAN ¤«¤é¤È¤Æ¤â¸Å¤¤ perl ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤È¤¤Î L<Test::More> ¤Î +½Û´Ä»²¾È¤ò²óÈò¤·¤Þ¤¹¡£ + +=begin original + +Vstring magic strings over 2GB are now disallowed. + +=end original + +2GB ¤òĶ¤¨¤ë Vstring ¥Þ¥¸¥Ã¥¯Ê¸»úÎó¤Ïµö¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ + +=begin original + +Regular expressions objects weren't properly counted for object id +purposes on retrieve. This would corrupt the resulting structure, or +cause a runtime error in some cases. [L<perl #134179|https://rt.perl.org/Ticket/Display.html?id=134179>] + +=end original + +Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È¤Ï¼èÆÀ¤ÎÌÜŪ¤Î¤¿¤á¤Î¥ª¥Ö¥¸¥§¥¯¥È ID ¤¬Å¬ÀÚ¤Ë +¥«¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£ +¤³¤ì¤Ï·ë²Ì¤Î¹½Â¤ÂΤò²õ¤·¤¿¤ê¡¢¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¼Â¹Ô»þ¥¨¥é¡¼¤ò +°ú¤µ¯¤³¤¹¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¡£ +[L<perl #134179|https://rt.perl.org/Ticket/Display.html?id=134179>] + +=item * + +=begin original + +L<Sys::Hostname> has been upgraded from version 1.22 to 1.23. + +=end original + +L<Sys::Hostname> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.22 ¤«¤é 1.23 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Sys::Syslog> has been upgraded from version 0.35 to 0.36. + +=end original + +L<Sys::Syslog> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.35 ¤«¤é 0.36 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Term::ANSIColor> has been upgraded from version 4.06 to 5.01. + +=end original + +L<Term::ANSIColor> ¤Ï¥Ð¡¼¥¸¥ç¥ó 4.06 ¤«¤é 5.01 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Test::Simple> has been upgraded from version 1.302162 to 1.302175. + +=end original + +L<Test::Simple> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.302162 ¤«¤é 1.302175 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Thread> has been upgraded from version 3.04 to 3.05. + +=end original + +L<Thread> ¤Ï¥Ð¡¼¥¸¥ç¥ó 3.04 ¤«¤é 3.05 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Thread::Queue> has been upgraded from version 3.13 to 3.14. + +=end original + +L<Thread::Queue> ¤Ï¥Ð¡¼¥¸¥ç¥ó 3.13 ¤«¤é 3.14 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<threads> has been upgraded from version 2.22 to 2.25. + +=end original + +L<threads> ¤Ï¥Ð¡¼¥¸¥ç¥ó 2.22 ¤«¤é 2.25 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<threads::shared> has been upgraded from version 1.60 to 1.61. + +=end original + +L<threads::shared> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.60 ¤«¤é 1.61 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Tie::File> has been upgraded from version 1.02 to 1.06. + +=end original + +L<Tie::File> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.02 ¤«¤é 1.06 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Tie::Hash::NamedCapture> has been upgraded from version 0.10 to 0.13. + +=end original + +L<Tie::Hash::NamedCapture> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.10 ¤«¤é 0.13 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Tie::Scalar> has been upgraded from version 1.04 to 1.05. + +=end original + +L<Tie::Scalar> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.04 ¤«¤é 1.05 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Tie::StdHandle> has been upgraded from version 4.5 to 4.6. + +=end original + +L<Tie::StdHandle> ¤Ï¥Ð¡¼¥¸¥ç¥ó 4.5 ¤«¤é 4.6 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Time::HiRes> has been upgraded from version 1.9760 to 1.9764. + +=end original + +L<Time::HiRes> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.9760 ¤«¤é 1.9764 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=begin original + +Removed obsolete code such as support for pre-5.6 perl and classic +MacOS. [L<perl #134288|https://rt.perl.org/Ticket/Display.html?id=134288>] + +=end original + +5.6 ¤è¤êÁ°¤Î perl ¤ä¥¯¥é¥·¥Ã¥¯ MacOS ¤ÎÂбþ¤Î¤¿¤á¤Î¤è¤¦¤Ê¸Å¤¤¥³¡¼¥É¤¬ +ºï½ü¤µ¤ì¤Þ¤·¤¿¡£ +[L<perl #134288|https://rt.perl.org/Ticket/Display.html?id=134288>] + +=item * + +=begin original + +L<Time::Piece> has been upgraded from version 1.33 to 1.3401. + +=end original + +L<Time::Piece> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.33 ¤«¤é 1.3401 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Unicode::Normalize> has been upgraded from version 1.26 to 1.27. + +=end original + +L<Unicode::Normalize> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.26 ¤«¤é 1.27 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Unicode::UCD> has been upgraded from version 0.72 to 0.75. + +=end original + +L<Unicode::UCD> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.72 ¤«¤é 0.75 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<VMS::Stdio> has been upgraded from version 2.44 to 2.45. + +=end original + +L<VMS::Stdio> ¤Ï¥Ð¡¼¥¸¥ç¥ó 2.44 ¤«¤é 2.45 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<warnings> has been upgraded from version 1.44 to 1.47. + +=end original + +L<warnings> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.44 ¤«¤é 1.47 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Win32> has been upgraded from version 0.52 to 0.53. + +=end original + +L<Win32> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.52 ¤«¤é 0.53 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<Win32API::File> has been upgraded from version 0.1203 to 0.1203_01. + +=end original + +L<Win32API::File> ¤Ï¥Ð¡¼¥¸¥ç¥ó 0.1203 ¤«¤é 0.1203_01 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<XS::APItest> has been upgraded from version 1.00 to 1.09. + +=end original + +L<XS::APItest> ¤Ï¥Ð¡¼¥¸¥ç¥ó 1.00 ¤«¤é 1.09 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=back + +=head2 Removed Modules and Pragmata + +(ºï½ü¤µ¤ì¤¿¥â¥¸¥å¡¼¥ë¤È¥×¥é¥°¥Þ) + +=over 4 + +=item * + +=begin original + +Pod::Parser has been removed from the core distribution. +It still is available for download from CPAN. This resolves [L<perl +#119439|https://rt.perl.org/Ticket/Display.html?id=119439>]. + +=end original + +Pod::Parser ¤Ï¥³¥¢ÇÛÉÛ¤«¤éºï½ü¤µ¤ì¤Þ¤·¤¿¡£ +¤³¤ì¤Ï°ÍÁ³¤È¤·¤Æ CPAN ¤«¤é¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤ÇÍøÍѲÄǽ¤Ç¤¹¡£ +¤³¤ì¤Ï [L<perl +#119439|https://rt.perl.org/Ticket/Display.html?id=119439>] ¤ò²ò·è¤·¤Þ¤¹¡£ + +=back + +=head1 Documentation + +(ʸ½ñ) + +=head2 Changes to Existing Documentation + +(´û¸¤Îʸ½ñ¤ÎÊѹ¹) + +=begin original + +We have attempted to update the documentation to reflect the changes +listed in this document. If you find any we have missed, open an issue +at L<https://github.com/Perl/perl5/issues>. + +=end original + +»ä¤¿¤Á¤Ï¤³¤Îʸ½ñ¤Çµó¤²¤é¤ì¤¿Êѹ¹¤òÈ¿±Ç¤¹¤ë¤è¤¦¤Ëʸ½ñ¤ò¹¹¿·¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹¡£ +¤â¤·È´¤±¤Æ¤¤¤ëʪ¤òȯ¸«¤·¤¿¤é¡¢ +L<https://github.com/Perl/perl5/issues> ¤Ç¥¤¥·¥å¡¼¤ò³«¤¤¤Æ¤¯¤À¤µ¤¤¡£ + +=begin original + +Additionally, the following selected changes have been made: + +=end original + +¤½¤ì¤Ë²Ã¤¨¤Æ¡¢°Ê²¼¤Î¤è¤¦¤ÊÊѹ¹¤¬¹Ô¤ï¤ì¤Þ¤·¤¿¡£ + +=head3 L<perldebguts> + +=over 4 + +=item * + +=begin original + +Simplify a few regnode definitions + +=end original + +¤¤¤¯¤Ä¤«¤Î regnode ÄêµÁ¤Îñ½ã²½ + +=begin original + +Update C<BOUND> and C<NBOUND> definitions. + +=end original + +C<BOUND> ¤È C<NBOUND> ¤ÎÄêµÁ¤Î¹¹¿· + +=item * + +=begin original + +Add ANYOFHs regnode + +=end original + +ANYOFHs regnode ¤ÎÄɲà + +=begin original + +This node is like C<ANYOFHb>, but is used when more than one leading byte +is the same in all the matched code points. + +=end original + +¤³¤Î¥Î¡¼¥É¤Ï C<ANYOFHb> ¤ÈƱÍͤǤ¹¤¬¡¢Á´¤Æ¤Î¥Þ¥Ã¥Á¥ó¥°¤·¤¿Éä¹æ°ÌÃ֤ˤĤ¤¤Æ +ÀèƬ¤Î 2 ¥Ð¥¤¥È°Ê¾å¤¬Åù¤·¤¤¾ì¹ç¤Ë»È¤ï¤ì¤Þ¤¹¡£ + +=begin original + +C<ANYOFHb> is used to avoid having to convert from UTF-8 to code point for +something that won't match. It checks that the first byte in the UTF-8 +encoded target is the desired one, thus ruling out most of the possible +code points. + +=end original + +C<ANYOFHb> ¤Ï¡¢²¿¤«¥Þ¥Ã¥Á¥ó¥°¤·¤Ê¤¤¤â¤Î¤ËÂФ·¤Æ UTF-8 ¤«¤éÉä¹æ°ÌÃÖ¤Ë +ÊÑ´¹¤¹¤ëɬÍ×À¤òÈò¤±¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£ +¤³¤ì¤Ï¡¢UTF-8 ¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥¿¡¼¥²¥Ã¥È¤ÎºÇ½é¤Î¥Ð¥¤¥È¤¬ +µá¤á¤é¤ì¤Æ¤¤¤ë¤â¤Î¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤³¤È¤Ç¡¢²ÄǽÀ¤Î¤¢¤ëÉä¹æ°ÌÃ֤Π+¤Û¤È¤ó¤É¤ò½ü³°¤·¤Þ¤¹¡£ + +=back + +=head3 L<perlapi> + +=over 4 + +=item * + +=begin original + +C<sv_2pvbyte> updated to mention it will croak if the SV cannot be +downgraded. + +=end original + +C<sv_2pvbyte> ¤Ï¡¢SV ¤¬¹ß³Ê¤Ç¤¤Ê¤¤¤È¤¤Ë croak ¤¹¤ë¤³¤È¤Ë¤Ä¤¤¤Æ +¸ÀµÚ¤¹¤ë¤è¤¦¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +C<sv_setpvn> updated to mention that the UTF-8 flag will not be changed by +this function, and a terminating NUL byte is guaranteed. + +=end original + +C<sv_setpvn> ¤Ï¡¢UTF-8 ¥Õ¥é¥°¤Ï¤³¤Î´Ø¿ô¤Ë¤è¤Ã¤ÆÊѹ¹¤µ¤ì¤Ê¤¤¤³¤È¡¢ +¤ª¤è¤ÓËöÈø¤Î NUL ¤¬Êݾڤµ¤ì¤Æ¤¤¤ë¤³¤È¤Ë¤Ä¤¤¤Æ¸ÀµÚ¤¹¤ë¤è¤¦¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +Documentation for C<PL_phase> has been added. + +=end original + +C<PL_phase> ¤Îʸ½ñ¤¬Äɲ䵤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +The documentation for C<grok_bin>, C<grok_oct>, and C<grok_hex> has been +updated and clarified. + +=end original + +C<grok_bin>, C<grok_oct>, C<grok_hex> ¤Îʸ½ñ¤¬¹¹¿·¤ª¤è¤ÓÌÀ³Î²½¤µ¤ì¤Þ¤·¤¿¡£ + +=back + +=head3 L<perldiag> + +=over 4 + +=item * + +=begin original + +Add documentation for experimental 'isa' operator + +=end original + +¼Â¸³Åª¤Ê 'isa' ±é»»»Ò¤Îʸ½ñ¤ÎÄɲà + +=begin original + +(S experimental::isa) This warning is emitted if you use the (C<isa>) +operator. This operator is currently experimental and its behaviour may +change in future releases of Perl. + +=end original + +(S experimental::isa) ¤³¤Î·Ù¹ð¤Ï¡¢(C<isa>) ±é»»»Ò¤ò»È¤¦¤ÈȯÀ¸¤·¤Þ¤¹¡£ +¤³¤Î±é»»»Ò¤Ï¸½ºß¤Î¤È¤³¤í¼Â¸³Åª¤Ç¤¢¤ê¡¢¿¶¤ëÉñ¤¤¤Ï¾Íè¤Î¥ê¥ê¡¼¥¹¤Î Perl ¤Ç +Êѹ¹¤µ¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ + +=back + +=head3 L<perlfunc> + +=over 4 + +=item C<caller> + +=begin original + +Like L<C<__FILE__>|/__FILE__> and L<C<__LINE__>|/__LINE__>, the filename and +line number returned here may be altered by the mechanism described at +L<perlsyn/"Plain Old Comments (Not!)">. + +=end original + +L<C<__FILE__>|/__FILE__> ¤ä L<C<__LINE__>|/__LINE__> ¤ÈƱÍÍ¡¢ +¤³¤³¤ËÊÖ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤È¹ÔÈÖ¹æ¤Ï +L<perlsyn/"Plain Old Comments (Not!)"> ¤Çµ½Ò¤µ¤ì¤¿µ¡¹½¤Ë¤è¤Ã¤Æ +ÃÖ¤´¹¤¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ + +=item C<__FILE__> + +=begin original + +It can be altered by the mechanism described at +L<perlsyn/"Plain Old Comments (Not!)">. + +=end original + +¤³¤ì¤Ï L<perlsyn/"Plain Old Comments (Not!)"> ¤Çµ½Ò¤µ¤ì¤¿µ¡¹½¤Ë¤è¤Ã¤Æ +ÃÖ¤´¹¤¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ + +=item C<__LINE__> + +=begin original + +It can be altered by the mechanism described at +L<perlsyn/"Plain Old Comments (Not!)">. + +=end original + +¤³¤ì¤Ï L<perlsyn/"Plain Old Comments (Not!)"> ¤Çµ½Ò¤µ¤ì¤¿µ¡¹½¤Ë¤è¤Ã¤Æ +ÃÖ¤´¹¤¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ + +=item C<return> + +=begin original + +Now mentions that you cannot return from C<do BLOCK>. + +=end original + +C<do BLOCK> ¤«¤éµ¢¤ì¤Ê¤¤¤³¤È¤Ë¸ÀµÚ¤·¤Þ¤·¤¿¡£ + +=item C<open> + +=begin original + +The C<open()> section had been renovated significantly. + +=end original + +C<open()> ¤ÎÀá¤ÏÂ礤¯ºþ¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=back + +=head3 L<perlguts> + +=over 4 + +=item * + +=begin original + +No longer suggesting using perl's C<malloc>. Modern system C<malloc> is +assumed to be much better than perl's implementation now. + +=end original + +¤â¤Ï¤ä perl ¤Î C<malloc> ¤ò»È¤¦¤³¤È¤òÄó°Æ¤·¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ +º£¤Ç¤Ï¥â¥À¥ó¤Ê¥·¥¹¥Æ¥à¤Î C<malloc> ¤Ï perl ¤Î¼ÂÁõ¤è¤êô£¤«¤ËÎɤ¤¤â¤Î¤Ç¤¢¤ë¤È +²¾Äꤵ¤ì¤Þ¤¹¡£ + +=item * + +=begin original + +Documentation about F<embed.fnc> flags has been removed. F<embed.fnc> now has +sufficient comments within it. Anyone changing that file will see those +comments first, so entries here are now redundant. + +=end original + +F<embed.fnc> ¥Õ¥é¥°¤Ë´Ø¤¹¤ëʸ½ñ¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿¡£ +F<embed.fnc> ¤Ï½½Ê¬¤Ê¥³¥á¥ó¥È¤òÆâÉô¤Ë»ý¤Ä¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +¤³¤Î¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤è¤¦¤È¤¹¤ë¿Í¤ÏºÇ½é¤Ë¥³¥ì¥é¤Î¥³¥á¥ó¥È¤ò¸«¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢ +¤³¤³¤Ç¤Î¹àÌܤϾéĹ¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +=begin original + +Updated documentation for C<UTF8f> + +=end original + +C<UTF8f> ¤Îʸ½ñ¤Î¹¹¿· + +=item * + +=begin original + +Added missing C<=for apidoc> lines + +=end original + +ÉÔ¤·¤Æ¤¤¤¿ C<=for apidoc> ¹Ô¤ÎÄɲà + +=back + +=head3 L<perlhacktips> + +=over 4 + +=item * + +=begin original + +The differences between Perl strings and C strings are now detailed. + +=end original + +Perl ¤Îʸ»úÎó¤È C ¤Îʸ»úÎó¤È¤Î°ã¤¤¤ò¾Ü¤·¤¯½Ò¤Ù¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=back + +=head3 L<perlintro> + +=over 4 + +=item * + +=begin original + +The documentation for the repetition operator C<x> have been clarified. +[L<GH #17335|https://github.com/Perl/perl5/issues/17335>] + +=end original + +·«¤êÊÖ¤·±é»»»Ò C<x> ¤Îʸ½ñ¤¬ÌÀ³Î²½¤µ¤ì¤Þ¤·¤¿¡£ +[L<GH #17335|https://github.com/Perl/perl5/issues/17335>] + +=back + +=head3 L<perlipc> + +=over 4 + +=item * + +=begin original + +The documentation surrounding C<open> and handle usage has been modernized +to prefer 3-arg open and lexical variables instead of barewords. + +=end original + +C<open> ¤È¥Ï¥ó¥É¥ë»ÈÍÑË¡¼þ¤ê¤Îʸ½ñ¤Ï¡¢3 °ú¿ô open ¤ª¤è¤Ó¡¢ +Íç¤Îñ¸ì¤Ç¤Ï¤Ê¤¯¥ì¥¥·¥«¥ëÊÑ¿ô¤ò»È¤¦¤è¤¦¤Ë¶áÂå²½¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +Various updates and fixes including making all examples strict-safe and +replacing C<-w> with C<use warnings>. + +=end original + +Á´¤Æ¤ÎÎã¤ò strict °ÂÁ´¤Ë¤·¤Æ¡¢C<-w> ¤ò C<use warnings> ¤ËÃÖ¤´¹¤¨¤ë¤³¤È¤ò +´Þ¤àÍÍ¡¹¤Ê¹¹¿·¤È½¤Àµ¡£ + +=back + +=head3 L<perlop> + +=over 4 + +=item * + +=begin original + +'isa' operator is experimental + +=end original + +'isa' ±é»»»Ò¤Ï¼Â¸³Åª + +=begin original + +This is an experimental feature and is available when enabled +by C<use feature 'isa'>. It emits a warning in the C<experimental::isa> +category. + +=end original + +¤³¤ì¤Ï¼Â¸³Åªµ¡Ç½¤Ç¡¢C<use feature 'isa'> ¤Ç͸ú²½¤µ¤ì¤¿¤È¤¤Ë +ÍøÍѲÄǽ¤Ç¤¹¡£ +¤³¤ì¤Ï C<experimental::isa> ¥«¥Æ¥´¥ê¤Î·Ù¹ð¤ò½ÐÎϤ·¤Þ¤¹¡£ + +=back + +=head3 L<perlpod> + +=over 4 + +=item * + +=begin original + +Details of the various stacks within the perl interpreter are now explained +here. + +=end original + +perl ¥¤¥ó¥¿¥×¥ê¥¿ÆâÉô¤ÎÍÍ¡¹¤Ê¥¹¥¿¥Ã¥¯¤Î¾ÜºÙ¤Ï¤³¤³¤Ç +ÀâÌÀ¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +=begin original + +Advice has been added regarding the usage of C<< ZE<lt>E<gt> >>. + +=end original + +C<< ZE<lt>E<gt> >> ¤Î»ÈÍÑË¡¤Ë´Ø¤¹¤ë½õ¸À¤¬Äɲ䵤ì¤Þ¤·¤¿¡£ + +=back + +=head3 L<perlport> + +=over 4 + +=item * + +=begin original + +Update C<timegm> example to use the correct year format I<1970> instead of I<70>. +[L<GH #16431|https://github.com/Perl/perl5/issues/16431>] + +=end original + +ǯ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤È¤·¤Æ I<70> ¤Ç¤Ï¤Ê¤¯Àµ¤·¤¤ I<1970> ¤ò»È¤¦¤è¤¦¤Ë +C<timegm> ¤ÎÎ㤬¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ +[L<GH #16431|https://github.com/Perl/perl5/issues/16431>] + +=back + +=head3 L<perlreref> + +=over 4 + +=item * + +=begin original + +Fix some typos. + +=end original + +¤¤¤¯¤Ä¤«¤Î¥¿¥¤¥×¥ß¥¹¤Î½¤Àµ¡£ + +=back + +=head3 L<perlvar> + +=over 4 + +=item * + +=begin original + +Now recommends stringifying C<$]> and comparing it numerically. + +=end original + +C<$]> ¤òʸ»úÎ󲽤·¤Æ¿ôÃͤȤ·¤ÆÈæ³Ó¤¹¤ë¤³¤È¤ò´«¤á¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=back + +=head3 L<perlapi>, L<perlintern> + +=over 4 + +=item * + +=begin original + +Documentation has been added for several functions that were +lacking it before. + +=end original + +°ÊÁ°¤Ï¤Ê¤«¤Ã¤¿¤¤¤¯¤Ä¤«¤Î´Ø¿ô¤Îʸ½ñ¤¬Äɲ䵤ì¤Þ¤·¤¿¡£ + +=back + +=head3 L<perlxs> + +=over 4 + +=item * + +=begin original + +Suggest using C<libffi> for simple library bindings. + +=end original + +ñ½ã¤Ê¥é¥¤¥Ö¥é¥ê¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ë¤Ï C<libffi> ¤ò»È¤¦¤è¤¦¤Ë +´«¤á¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=back + +=head3 L<POSIX> + +=over 4 + +=item * + +=begin original + +C<setlocale> warning about threaded builds updated to note it does not +apply on Perl 5.28.X and later. + +=end original + +¥¹¥ì¥Ã¥ÉÂбþ¥Ó¥ë¥É¤Ë´Ø¤¹¤ë C<setlocale> ¤Î·Ù¹ð¤Ï¡¢ +Perl 5.28.X °Ê¹ß¤Ë¤ÏŬÍѤµ¤ì¤Ê¤¤¤³¤È¤Ë¿¨¤ì¤ë¤è¤¦¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +C<< Posix::SigSet->new(...) >> updated to state it throws an error if any of +the supplied signals cannot be added to the set. + +=end original + +C<< Posix::SigSet->new(...) >> ¤Ï¡¢ +»ØÄꤵ¤ì¤¿¥·¥°¥Ê¥ë¤Î¤É¤ì¤â½¸¹ç¤ËÄɲäǤ¤Ê¤¤¾ì¹ç¤Ï¥¨¥é¡¼¤¬ +Åꤲ¤é¤ì¤ë¤³¤È¤ò¼¨¤¹¤¿¤á¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=back + +=begin original + +Additionally, the following selected changes have been made: + +=end original + +¤½¤ì¤Ë²Ã¤¨¤Æ¡¢°Ê²¼¤Î¤è¤¦¤ÊÊѹ¹¤¬¹Ô¤ï¤ì¤Þ¤·¤¿¡£ + +=head3 Updating of links + +(¥ê¥ó¥¯¤Î¹¹¿·) + +=over 4 + +=item * + +=begin original + +Links to the now defunct L<https://search.cpan.org> site now point at +the equivalent L<https://metacpan.org> URL. [L<GH #17393|https://github.com/Perl/perl5/issues/17393>] + +=end original + +º£¤Ï¤Ê¤ L<https://search.cpan.org> ¥µ¥¤¥È¤Ø¤Î¥ê¥ó¥¯¤Ï¡¢ +Åù²Á¤Ê L<https://metacpan.org> URL ¤ò»Ø¤¹¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +[L<GH #17393|https://github.com/Perl/perl5/issues/17393>] + +=item * + +=begin original + +The man page for L<ExtUtils::XSSymSet> is now only installed on VMS, +which is the only platform the module is installed on. [L<GH #17424|https://github.com/Perl/perl5/issues/17424>] + +=end original + +L<ExtUtils::XSSymSet> ¤Î man ¥Ú¡¼¥¸¤Ï¡¢¤³¤Î¥â¥¸¥å¡¼¥ë¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë +Í£°ì¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤¢¤ë VMS ¤Ç¤Î¤ß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +[L<GH #17424|https://github.com/Perl/perl5/issues/17424>] + +=item * + +=begin original + +URLs have been changed to C<https://> and stale links have been updated. + +=end original + +URL ¤Ï C<https://> ¤ËÊѹ¹¤µ¤ì¡¢¸Å¤¤¥ê¥ó¥¯¤Ï¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=begin original + +Where applicable, the URLs in the documentation have been moved from using the +C<http://> protocol to C<https://>. This also affects the location of the bug +tracker at L<https://rt.perl.org>. + +=end original + +ŬÀڤʾì½ê¤Ç¤Ï¡¢Ê¸½ñÃæ¤Î URL ¤Ï C<http://> ¥×¥í¥È¥³¥ë¤«¤é C<https://> ¤Ë +Êѹ¹¤µ¤ì¤Þ¤·¤¿¡£ +¤³¤ì¤Ï¤Þ¤¿¥Ð¥°¥È¥é¥Ã¥«¡¼¤Î¾ì½ê L<https://rt.perl.org> ¤Ë¤â±Æ¶Á¤òÍ¿¤¨¤Þ¤¹¡£ + +=item * + +=begin original + +Some links to OS/2 libraries, Address Sanitizer and other system tools had gone +stale. These have been updated with working links. + +=end original + +OS/2 ¥é¥¤¥Ö¥é¥ê¡¢Address Sanitizer ¤ª¤è¤Ó¤½¤Î¾¤Î¥·¥¹¥Æ¥à¥Ä¡¼¥ë¤Ø¤Î¥ê¥ó¥¯¤Î +°ìÉô¤Ï¸Å¤¤¤â¤Î¤Ç¤·¤¿¡£ +¤³¤ì¤é¤ÏÆ°ºî¤¹¤ë¥ê¥ó¥¯¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +Some links to old email addresses on perl5-porters had gone stale. These have been +updated with working links. + +=end original + +perl5-porters ¤Î¸Å¤¤ E ¥á¡¼¥ë¥¢¥É¥ì¥¹¤Ø¤Î¥ê¥ó¥¯¤Î°ìÉô¤Ï¸Å¤¤¤â¤Î¤Ç¤·¤¿¡£ +¤³¤ì¤é¤ÏÆ°ºî¤¹¤ë¥ê¥ó¥¯¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ + +=back + +=head1 Diagnostics + +(¿ÇÃÇ¥á¥Ã¥»¡¼¥¸) + +=begin original + +The following additions or changes have been made to diagnostic output, +including warnings and fatal error messages. For the complete list of +diagnostic messages, see L<perldiag>. + +=end original + +¼¡¤Î¤è¤¦¤ÊÄɲäÈÊѹ¹¤¬¡¢·Ù¹ð¤äÃ×̿Ū¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò´Þ¤à¿ÇÃǽÐÎÏ¤Ë +¹Ô¤ï¤ì¤Þ¤·¤¿¡£ +¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤Î´°Á´¤Ê°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¡¢L<perldiag> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ + +=head2 New Diagnostics + +(¿·¤·¤¤·Ù¹ð¥á¥Ã¥»¡¼¥¸) + +=head3 New Errors + +(¿·¤·¤¤¥¨¥é¡¼) + +=over 4 + +=item * + +L<Expecting interpolated extended charclass in regex; marked by <-- HERE in mE<sol>%sE<sol> +|perldiag/"Expecting interpolated extended charclass in regex; marked by <-- HERE in mE<sol>%sE<sol>"> + +=begin original + +This is a replacement for several error messages listed under +L</Changes to Existing Diagnostics>. + +=end original + +¤³¤ì¤Ï¡¢L</Changes to Existing Diagnostics> ¤Ëµó¤²¤é¤ì¤Æ¤¤¤ë¤¤¤¯¤Ä¤«¤Î +¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ÎÃÖ¤´¹¤¨¤Ç¤¹¡£ + +=item * + +C<L<No digits found for %s literal|perldiag/"No digits found for %s literal">> + +=begin original + +(F) No hexadecimal digits were found following C<0x> or no binary digits were +found following C<0b>. + +=end original + +(F) C<0x> ¤Ë°ú¤Â³¤¤¤Æ 16 ¿Ê¿ô¤¬¤Ê¤¤¤«¡¢C<0b> ¤Ë°ú¤Â³¤¤¤Æ +2 ¿Ê¿ô¤¬¤¢¤ê¤Þ¤»¤ó¡£ + +=back + +=head3 New Warnings + +(¿·¤·¤¤·Ù¹ð) + +=over 4 + +=item * + +L<Code point 0x%X is not Unicode, and not portable|perldiag/"Code point 0x%X is not Unicode, and not portable"> + +=begin original + +This is actually not a new message, but it is now output when the +warnings category C<portable> is enabled. + +=end original + +¤³¤ì¤Ï¼ÂºÝ¤Ë¤Ï¿·¤·¤¤¥á¥Ã¥»¡¼¥¸¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢ +C<portable> ¤¬Í¸ú¤Ê¤È¤¤Ë½ÐÎϤµ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=begin original + +When raised during regular expression pattern compilation, the warning +has extra text added at the end marking where precisely in the pattern +it occurred. + +=end original + +Àµµ¬É½¸½Ãæ¤Î¥³¥ó¥Ñ¥¤¥ëÃæ¤ËȯÀ¸¤·¤¿¤È¤¡¢¤³¤Î·Ù¹ð¤Ï¥Ñ¥¿¡¼¥ó¤Î¤É¤Î°ÌÃÖ¤Ç +ȯÀ¸¤·¤¿¤«¤ò¼¨¤¹¥Þ¡¼¥¯¤òËöÈø¤ËÄɲä·¤¿Ê¸¾Ï¤ò½ÐÎϤ·¤Þ¤¹¡£ + +=item * + +L<Non-hex character '%c' terminates \x early. Resolved as "%s"|perldiag/"Non-hex character '%c' terminates \x early. Resolved as "%s""> + +=begin original + +This replaces a warning that was much less specific, and which gave +false information. This new warning parallels the similar +already-existing one raised for C<\o{}>. + +=end original + +¤³¤ì¤Ï¡¢¤è¤ê¶ñÂÎÀ¤¬¤Ê¤¯¡¢´Ö°ã¤Ã¤¿¾ðÊó¤òÍ¿¤¨¤Æ¤¤¤¿·Ù¹ð¤òÃÖ¤´¹¤¨¤Þ¤¹¡£ +¤³¤Î¿·¤·¤¤·Ù¹ð¤Ï¡¢C<\o{}> ¤Ë´Ø¤·¤Æ´û¤Ë¸ºß¤·¤Æ¤¤¤ëƱÍͤηٹð¤Ë +ʤ֤â¤Î¤Ç¤¹¡£ + +=back + +=head2 Changes to Existing Diagnostics + +(´û¸¤Î¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤ÎÊѹ¹) + +=over 4 + +=item * + +L<Character following "\c" must be printable ASCII|perldiag/"Character following "\c" must be printable ASCII"> + +=begin original + +...now has extra text added at the end, when raised during regular +expression pattern compilation, marking where precisely in the pattern +it occurred. + +=end original + +¤³¤ì¤ÏÀµµ¬É½¸½Ãæ¤Î¥³¥ó¥Ñ¥¤¥ëÃæ¤ËȯÀ¸¤·¤¿¤È¤¡¢¥Ñ¥¿¡¼¥ó¤Î¤É¤Î°ÌÃÖ¤Ç +ȯÀ¸¤·¤¿¤«¤ò¼¨¤¹¥Þ¡¼¥¯¤òËöÈø¤ËÄɲä·¤¿Ê¸¾Ï¤ò½ÐÎϤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +L<Use "%s" instead of "%s"|perldiag/"Use "%s" instead of "%s""> + +=begin original + +...now has extra text added at the end, when raised during regular +expression pattern compilation, marking where precisely in the pattern +it occurred. + +=end original + +¤³¤ì¤ÏÀµµ¬É½¸½Ãæ¤Î¥³¥ó¥Ñ¥¤¥ëÃæ¤ËȯÀ¸¤·¤¿¤È¤¡¢¥Ñ¥¿¡¼¥ó¤Î¤É¤Î°ÌÃÖ¤Ç +ȯÀ¸¤·¤¿¤«¤ò¼¨¤¹¥Þ¡¼¥¯¤òËöÈø¤ËÄɲä·¤¿Ê¸¾Ï¤ò½ÐÎϤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +L<Sequence "\c{" invalid|perldiag/"Sequence "\c{" invalid"> + +=begin original + +...now has extra text added at the end, when raised during regular +expression pattern compilation, marking where precisely in the pattern +it occurred. + +=end original + +¤³¤ì¤ÏÀµµ¬É½¸½Ãæ¤Î¥³¥ó¥Ñ¥¤¥ëÃæ¤ËȯÀ¸¤·¤¿¤È¤¡¢¥Ñ¥¿¡¼¥ó¤Î¤É¤Î°ÌÃÖ¤Ç +ȯÀ¸¤·¤¿¤«¤ò¼¨¤¹¥Þ¡¼¥¯¤òËöÈø¤ËÄɲä·¤¿Ê¸¾Ï¤ò½ÐÎϤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +L<"\c%c" is more clearly written simply as "%s"|perldiag/""\c%c" is more clearly written simply as "%s""> + +=begin original + +...now has extra text added at the end, when raised during regular +expression pattern compilation, marking where precisely in the pattern +it occurred. + +=end original + +¤³¤ì¤ÏÀµµ¬É½¸½Ãæ¤Î¥³¥ó¥Ñ¥¤¥ëÃæ¤ËȯÀ¸¤·¤¿¤È¤¡¢¥Ñ¥¿¡¼¥ó¤Î¤É¤Î°ÌÃÖ¤Ç +ȯÀ¸¤·¤¿¤«¤ò¼¨¤¹¥Þ¡¼¥¯¤òËöÈø¤ËÄɲä·¤¿Ê¸¾Ï¤ò½ÐÎϤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +L<Non-octal character '%c' terminates \o early. Resolved as "%s"|perldiag/"Non-octal character '%c' terminates \o early. Resolved as "%s""> + +=begin original + +...now includes the phrase "terminates \o early", and has extra text added +at the end, when raised during regular expression pattern compilation, +marking where precisely in the pattern it occurred. In some instances +the text of the resolution has been clarified. + +=end original + +¤³¤ì¤ÏÀµµ¬É½¸½Ãæ¤Î¥³¥ó¥Ñ¥¤¥ëÃæ¤ËȯÀ¸¤·¤¿¤È¤¡¢"terminates \o early" ¤È¤¤¤¦ +ʸ¸À¤È¡¢¥Ñ¥¿¡¼¥ó¤Î¤É¤Î°ÌÃÖ¤Ç +ȯÀ¸¤·¤¿¤«¤ò¼¨¤¹¥Þ¡¼¥¯¤òËöÈø¤ËÄɲä·¤¿Ê¸¾Ï¤ò½ÐÎϤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +°ìÉô¤Î¾ì¹ç¤Ç¤Ï¡¢²ò·èË¡¤Îʸ¾Ï¤¬ÌÀ³Î²½¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +L<'%s' resolved to '\o{%s}%d'|perldiag/'%s' resolved to '\o{%s}%d'> + +=begin original + +As of Perl 5.32, this message is no longer generated. Instead, +L<perldiag/Non-octal character '%c' terminates \o early. Resolved as "%s"> +is used instead. + +=end original + +Perl 5.32 ¤«¤é¡¢¤³¤Î¥á¥Ã¥»¡¼¥¸¤ÏÀ¸À®¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ +Âå¤ï¤ê¤Ë¡¢ +L<perldiag/Non-octal character '%c' terminates \o early. Resolved as "%s"> +¤¬»È¤ï¤ì¤Þ¤¹¡£ + +=item * + +L<Use of code point 0x%s is not allowed; the permissible max is 0x%X|perldiag/"Use of code point 0x%s is not allowed; the permissible max is 0x%X"> + +=begin original + +Some instances of this message previously output the hex digits C<A>, +C<B>, C<C>, C<D>, C<E>, and C<F> in lower case. Now they are all +consistently upper case. + +=end original + +°ìÉô¤Î¾ì¹ç¤Ç¤Ï¡¢°ÊÁ°¤Ï 16 ¿Ê¿ô C<A>, +C<B>, C<C>, C<D>, C<E>, C<F> ¤¬¾®Ê¸»ú¤Ç½ÐÎϤµ¤ì¤Æ¤¤¤Þ¤·¤¿¡£i +¤³¤ì¤é¤Ï°ì´Ó¤·¤ÆÂçʸ»ú¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +=begin original + +The following three diagnostics have been removed, and replaced by +L<C<Expecting interpolated extended charclass in regex; marked by <-- HERE in mE<sol>%sE<sol>> +|perldiag/"Expecting interpolated extended charclass in regex; marked by <-- HERE in mE<sol>%sE<sol>">: +C<Expecting close paren for nested extended charclass in regex; marked +by <-- HERE in mE<sol>%sE<sol>>, +C<Expecting close paren for wrapper for nested extended charclass in +regex; marked by <-- HERE in mE<sol>%sE<sol>>, +and +C<Expecting '(?flags:(?[...' in regex; marked by S<<-- HERE> in mE<sol>%sE<sol>>. + +=end original + +°Ê²¼¤Î»°¤Ä¤Î¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤Ïºï½ü¤µ¤ì¡¢ +L<C<Expecting interpolated extended charclass in regex; marked by <-- HERE in mE<sol>%sE<sol>> +|perldiag/"Expecting interpolated extended charclass in regex; marked by <-- HERE in mE<sol>%sE<sol>">: +C<Expecting close paren for nested extended charclass in regex; marked +by <-- HERE in mE<sol>%sE<sol>>, +C<Expecting close paren for wrapper for nested extended charclass in +regex; marked by <-- HERE in mE<sol>%sE<sol>>, +C<Expecting '(?flags:(?[...' in regex; marked by S<<-- HERE> in mE<sol>%sE<sol>> ¤Ë +ÃÖ¤´¹¤¨¤é¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +The C<Code point 0x%X is not Unicode, and not portable> warning removed +the line C<Code points above 0xFFFF_FFFF require larger than a 32 bit word.> +as code points that large are no longer legal on 32-bit platforms. + +=end original + +¤³¤ÎÂ礤µ¤ÎÉä¹æ°ÌÃ֤Ϥâ¤Ï¤ä 32 ¥Ó¥Ã¥È¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï +͸ú¤Ç¤Ï¤Ê¤¯¤Ê¤Ã¤¿¤Î¤Ç¡¢ +C<Code point 0x%X is not Unicode, and not portable> ·Ù¹ð¤«¤é +C<Code points above 0xFFFF_FFFF require larger than a 32 bit word.> ¤È¤¤¤¦ +¹Ô¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +L<Can't use global %s in %s|perldiag/"Can't use global %s in %s"> + +=begin original + +This error message has been slightly reformatted from the original C<Can't use +global %s in "%s">, and in particular misleading error messages like C<Can't +use global $_ in "my"> are now rendered as C<Can't use global $_ in subroutine +signature>. + +=end original + +¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Ï¡¢ +C<Can't use global %s in "%s"> ¤«¤é¾¯¤·Êѹ¹¤µ¤ì¡¢ +ÆÃ¤Ë C<Can't use global $_ in "my"> ¤Î¤è¤¦¤Ê¸í²ò¤ò¾·¤¯¥á¥Ã¥»¡¼¥¸¤Ï +C<Can't use global $_ in subroutine signature> ¤Èɽ¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +L<Constants from lexical variables potentially modified elsewhere are no longer permitted|perldiag/"Constants from lexical variables potentially modified elsewhere are no longer permitted"> + +=begin original + +This error message replaces the former C<Constants from lexical variables +potentially modified elsewhere are deprecated. This will not be allowed in Perl +5.32> to reflect the fact that this previously deprecated usage has now been +transformed into an exception. The message's classification has also been +updated from D (deprecated) to F (fatal). + +=end original + +¤³¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Ï¡¢ +°ÊÁ°ÇÑ»ßͽÄê¤À¤Ã¤¿»ÈÍÑË¡¤¬Îã³°¤ËÊѹ¹¤µ¤ì¤¿¤³¤È¤òÈ¿±Ç¤·¤Æ¡¢ +C<Constants from lexical variables +potentially modified elsewhere are deprecated. This will not be allowed in Perl +5.32> ¤«¤éÃÖ¤´¹¤¨¤é¤ì¤Þ¤·¤¿¡£ +¤Þ¤¿¡¢¤³¤Î¥á¥Ã¥»¡¼¥¸¤Î¥¯¥é¥¹Ê¬¤±¤Ï¡¢D (deprecated) ¤«¤é F (fatal) ¤Ë +Êѹ¹¤µ¤ì¤Þ¤·¤¿¡£ + +=begin original + +See also L</Incompatible Changes>. + +=end original + +L</Incompatible Changes> ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ + +=item * + +=begin original + +C<\N{} here is restricted to one character> is now emitted in the same +circumstances where previously C<\N{} in inverted character class or as a range +end-point is restricted to one character> was. + +=end original + +°ÊÁ° C<\N{} in inverted character class or as a range +end-point is restricted to one character> ¤¬½ÐÎϤµ¤ì¤Æ¤¤¤¿¾õ¶·¤Ç¤Ï¡¢ +C<\N{} here is restricted to one character> ¤¬½ÐÎϤµ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=begin original + +This is due to new circumstances having been added in Perl 5.30 that weren't +covered by the earlier wording. + +=end original + +¤³¤ì¤Ï¡¢°ÊÁ°¤Î¸ÀÍÕ¸¯¤¤¤Ç¤ÏÂбþ¤Ç¤¤Ê¤¤ Perl 5.30 ¤ÇÄɲ䵤줿¾õ¶·¤Î¤¿¤á¤Ç¤¹¡£ + +=back + +=head1 Utility Changes + +(¥Ä¡¼¥ë¤ÎÊѹ¹) + +=head2 L<perlbug> + +=over 4 + +=item * The bug tracker homepage URL now points to GitHub. + +=back + +=head2 L<streamzip> + +=over 4 + +=item * + +=begin original + +This is a new utility, included as part of an +L<IO::Compress::Base> upgrade. + +=end original + +¤³¤ì¤Ï¿·¤·¤¤¥Ä¡¼¥ë¤Ç¡¢L<IO::Compress::Base> ¤Î¹¹¿·¤Î°ìÉô¤È¤·¤Æ +´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=begin original + +L<streamzip> creates a zip file from stdin. The program will read data +from stdin, compress it into a zip container and, by default, write a +streamed zip file to stdout. + +=end original + +L<streamzip> ¤Ïɸ½àÆþÎϤ«¤é zip ¥Õ¥¡¥¤¥ë¤òºî¤ê¤Þ¤¹¡£ +¥×¥í¥°¥é¥à¤Ïɸ½àÆþÎϤ«¤é¥Ç¡¼¥¿¤òÆɤ߹þ¤ß¡¢zip ¥³¥ó¥Æ¥Ê¤Ë°µ½Ì¤·¤Æ¡¢ +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢É¸½à½ÐÎϤ˥¹¥È¥ê¡¼¥à zip ¥Õ¥¡¥¤¥ë¤ò½ÐÎϤ·¤Þ¤¹¡£ + +=back + +=head1 Configuration and Compilation + +(ÀßÄê¤È¥³¥ó¥Ñ¥¤¥ë) + +=head2 F<Configure> + +=over 4 + +=item * + +=begin original + +For clang++, add C<< #include <stdlib.h> >> to Configure's probes for +C<futimes>, C<strtoll>, C<strtoul>, C<strtoull>, C<strtouq>, otherwise the +probes would fail to compile. + +=end original + +clang++ ¤Î¤¿¤á¤Ë¡¢ +C<futimes>, C<strtoll>, C<strtoul>, C<strtoull>, C<strtouq> ¤Î¤¿¤á¤Î +Configure ¤Î¥×¥í¡¼¥Ö¤Ë C<< #include <stdlib.h> >> ¤òÄɲä·¤Þ¤·¤¿; +¤µ¤â¤Ê¤±¤ì¤Ð¥×¥í¡¼¥Ö¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ë¼ºÇÔ¤·¤Þ¤¹¡£ + +=item * + +=begin original + +Use a compile and run test for C<lchown> to satisfy clang++ which should +more reliably detect it. + +=end original + +clang++ ¤¬¤è¤ê³Î¼Â¤Ë¸¡½Ð¤Ç¤¤ë¤è¤¦¤Ë¡¢ +C<lchown> ¤Î¤¿¤á¤Î¥³¥ó¥Ñ¥¤¥ë¤È¥Æ¥¹¥È¼Â¹Ô¤ò»È¤¤¤Þ¤¹¡£ + +=item * + +=begin original + +For C++ compilers, add C<< #include <stdio.h> >> to Configure's probes for +C<getpgrp> and C<setpgrp> as they use printf and C++ compilers may fail +compilation instead of just warning. + +=end original + +C++ ¥³¥ó¥Ñ¥¤¥é¤Î¤¿¤á¤Ë¡¢C<getpgrp> ¤È C<setpgrp> ¤Î¤¿¤á¤Î +Configure ¤Î¥×¥í¡¼¥Ö¤Ë C<< #include <stdio.h> >> ¤òÄɲä·¤Þ¤·¤¿; +¤³¤ì¤é¤Ï printf ¤ò»È¤Ã¤Æ¤¤¤Æ¡¢C++ ¥³¥ó¥Ñ¥¤¥é¤Ïñ¤Ë·Ù¹ð¤ò½Ð¤¹¤Î¤Ç¤Ï¤Ê¤¯ +¥³¥ó¥Ñ¥¤¥ë¤Ë¼ºÇÔ¤¹¤ë¤«¤é¤Ç¤¹¡£ + +=item * + +=begin original + +Check if the compiler can handle inline attribute. + +=end original + +¥³¥ó¥Ñ¥¤¥é¤¬¥¤¥ó¥é¥¤¥ó°À¤ò°·¤¨¤ë¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ + +=item * + +=begin original + +Check for character data alignment. + +=end original + +ʸ»ú¥Ç¡¼¥¿¥¢¥é¥¤¥á¥ó¥È¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ + +=item * + +=begin original + +F<Configure> now correctly handles gcc-10. Previously it was interpreting it +as gcc-1 and turned on C<-fpcc-struct-return>. + +=end original + +F<Configure> ¤ÏÀµ¤·¤¯ gcc-10 ¤ò°·¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +°ÊÁ°¤Ï¤³¤ì¤Ï gcc-1 ¤È²ò¼á¤µ¤ì¡¢C<-fpcc-struct-return> ¤¬ +͸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤·¤¿¡£ + +=item * + +=begin original + +Perl now no longer probes for C<d_u32align>, defaulting to C<define> on all +platforms. This check was error-prone when it was done, which was on 32-bit +platforms only. +[L<perl #133495|https://rt.perl.org/Ticket/Display.html?id=133495>] + +=end original + +Perl ¤Ï¤â¤Ï¤ä C<d_u32align> ¤ò¥×¥í¡¼¥Ö¤·¤Ê¤¯¤Ê¤ê¡¢Á´¤Æ¤Î +¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç C<define> ¤¬¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +¤³¤Î¥Á¥§¥Ã¥¯¤Ï¡¢32 ¥Ó¥Ã¥È¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤À¤±¤ÇÀ®¸ù¤·¤¿¤È¤¤Ë +¥¨¥é¡¼¤òµ¯¤³¤·¤¬¤Á¤Ç¤·¤¿¡£ +[L<perl #133495|https://rt.perl.org/Ticket/Display.html?id=133495>] + +=item * + +=begin original + +Documentation and hints for building perl on Z/OS (native EBCDIC) have been +updated. This is still a work in progress. + +=end original + +Z/OS (¥Í¥¤¥Æ¥£¥Ö EBCDIC) ¤Ç perl ¤ò¥Ó¥ë¥É¤¹¤ë¤¿¤á¤Îʸ½ñ¤È¥Ò¥ó¥È¤¬ +¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£ +¤³¤ì¤Ï¤Þ¤Àºî¶ÈÃæ¤Ç¤¹¡£ + +=item * + +=begin original + +A new probe for C<malloc_usable_size> has been added. + +=end original + +C<malloc_usable_size> ¤Î¤¿¤á¤Î¿·¤·¤¤¥×¥í¡¼¥Ö¤¬Äɲ䵤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +Improvements in F<Configure> to detection in C++ and clang++. Work ongoing by +Andy Dougherty. [L<perl #134171|https://rt.perl.org/Ticket/Display.html?id=134171>] + +=end original + +C++ ¤È clang++ ¤Ç¤Î¸¡½Ð¤Î¤¿¤á¤Î F<Configure> ¤Î²þÁ±¡£ +ºî¶È¤Ï Andy Dougherty ¤Ë¤è¤Ã¤Æ·Ñ³Ãæ¤Ç¤¹¡£ +[L<perl #134171|https://rt.perl.org/Ticket/Display.html?id=134171>] + +=item * + +F<autodoc.pl> + +=begin original + +This tool that regenerates L<perlintern> and L<perlapi> has been overhauled +significantly, restoring consistency in flags used in F<embed.fnc> and +L<Devel::PPPort> and allowing removal of many redundant C<=for apidoc> +entries in code. + +=end original + +¤³¤Î¡¢L<perlintern> ¤È L<perlapi> ¤òºÆÀ¸À®¤¹¤ë¥Ä¡¼¥ë¤ÏÂçÉý¤Ë¸«Ä¾¤µ¤ì¡¢ +F<embed.fnc> ¤È L<Devel::PPPort> ¤Ç»È¤ï¤ì¤Æ¤¤¤ë¥Õ¥é¥°¤Î°ì´ÓÀ¤¬Éü¸µ¤µ¤ì¡¢ +¥³¡¼¥ÉÃæ¤Î¿¤¯¤Î¾éĹ¤Ê C<=for apidoc> ¤òºï½ü¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +=begin original + +The C<ECHO> macro is now defined. This is used in a C<dtrace> rule that was +originally changed for FreeBSD, and the FreeBSD make apparently predefines it. +The Solaris make does not predefine C<ECHO> which broke this rule on Solaris. +[L<perl #134218|https://rt.perl.org/Ticket/Display.html?id=134218>] + +=end original + +C<ECHO> ¤¬ÄêµÁ¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +¤³¤ì¤Ï¸µ¡¹ FreeBSD ¤ÇÊѹ¹¤µ¤ì¤¿ C<dtrace> µ¬Â§¤Ç»È¤ï¤ì¤Æ¤ª¤ê¡¢ +¤â¤Á¤í¤ó FreeBSD ¤Î make ¤Ï¤³¤ì¤ò»öÁ°ÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£ +Solaris ¤Î make ¤Ï¡¢Solaris ¤Ç¤Î¤³¤Îµ¬Â§¤ò²õ¤¹ C<ECHO> ¤ò»öÁ°ÄêµÁ¤·¤Þ¤»¤ó¡£ +[L<perl #134218|https://rt.perl.org/Ticket/Display.html?id=134218>] + +=item * + +=begin original + +Bison versions 3.1 through 3.4 are now supported. + +=end original + +Bison ¥Ð¡¼¥¸¥ç¥ó 3.1 ¤«¤é 3.4 ¤ËÂбþ¤·¤Þ¤·¤¿¡£ + +=back + +=head1 Testing + +(¥Æ¥¹¥È) + +=begin original + +Tests were added and changed to reflect the other additions and +changes in this release. Furthermore, these significant changes were +made: + +=end original + +¤³¤Î¥ê¥ê¡¼¥¹¤Î¤½¤Î¾¤ÎÄɲäÈÊѹ¹¤òÈ¿±Ç¤·¤Æ¥Æ¥¹¥È¤¬Äɲá¢Êѹ¹¤µ¤ì¤Þ¤·¤¿¡£ +¤µ¤é¤Ë¡¢¼ç¤Ë°Ê²¼¤Î¤è¤¦¤ÊÊѹ¹¤¬¹Ô¤ï¤ì¤Þ¤·¤¿: + +=over 4 + +=item * + +=begin original + +F<t/run/switches.t> no longer uses (and re-uses) the F<tmpinplace/> +directory under F<t/>. This may prevent spurious failures. [L<GH #17424|https://github.com/Perl/perl5/issues/17424>] + +=end original + +F<t/run/switches.t> ¤Ï¤â¤Ï¤ä F<t/> ¤Î²¼¤Î F<tmpinplace/> ¥Ç¥£¥ì¥¯¥È¥ê¤ò +»ÈÍÑ(¤ª¤è¤ÓºÆ»ÈÍÑ)¤·¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ +¤³¤ì¤Ï¸í¤Ã¤¿¼ºÇÔ¤òËɤ®¤Þ¤¹¡£ +[L<GH #17424|https://github.com/Perl/perl5/issues/17424>] + +=item * + +=begin original + +Various bugs in C<POSIX::mbtowc> were fixed. Potential races with +other threads are now avoided, and previously the returned wide +character could well be garbage. + +=end original + +C<POSIX::mbtowc> ¤ÎÍÍ¡¹¤Ê¥Ð¥°¤¬½¤Àµ¤µ¤ì¤Þ¤·¤¿¡£ +¾¤Î¥¹¥ì¥Ã¥É¤È¤Î¶¥¹ç¤Î²ÄǽÀ¤¬ÇÓ½ü¤µ¤ì¡¢°ÊÁ°¤ÏÊÖ¤µ¤ì¤¿¥ï¥¤¥Éʸ»ú¤¬ +¤´¤ß¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¡£ + +=item * + +=begin original + +Various bugs in C<POSIX::wctomb> were fixed. Potential races with other +threads are now avoided, and previously it would segfault if the string +parameter was shared or hadn't been pre-allocated with a string of +sufficient length to hold the result. + +=end original + +C<POSIX::wctomb> ¤ÎÍÍ¡¹¤Ê¥Ð¥°¤¬½¤Àµ¤µ¤ì¤Þ¤·¤¿¡£ +¾¤Î¥¹¥ì¥Ã¥É¤È¤Î¶¥¹ç¤Î²ÄǽÀ¤¬ÇÓ½ü¤µ¤ì¡¢¤Þ¤¿Ê¸»úÎó°ú¿ô¤¬ +¶¦Í¤µ¤ì¤Æ¤¤¤¿¤ê·ë²Ì¤òÊÝ»ý¤¹¤ë¤Î¤Ë½½Ê¬¤ÊŤµ¤Îʸ»úÎ󤬻öÁ°¤Ë +³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥»¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó¥Õ¥©¥ë¥È¤òµ¯¤³¤·¤Æ¤¤¤Þ¤·¤¿¡£ + +=item * + +=begin original + +Certain test output of scalars containing control characters and Unicode +has been fixed on EBCDIC. + +=end original + +À©¸æʸ»ú¤ä Unicode ¤ò´Þ¤à¥¹¥«¥é¤ò½ÐÎϤ¹¤ë°ìÉô¤Î¥Æ¥¹¥È¤Ï EBCDIC ¤Ç +½¤Àµ¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +F<t/charset_tools.pl>: Avoid some work on ASCII platforms. + +=end original + +F<t/charset_tools.pl>: ASCII ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ÇÆ°ºî¤·¤Ê¤¤¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +=begin original + +F<t/re/regexp.t>: Speed up many regex tests on ASCII platform + +=end original + +F<t/re/regexp.t>: ASCII ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Î¿¤¯¤ÎÀµµ¬É½¸½¥Æ¥¹¥È¤¬¹â®²½¤·¤Þ¤·¤¿¡£ + +=item * + +=begin original + +F<t/re/pat.t>: Skip tests that don't work on EBCDIC. + +=end original + +F<t/re/pat.t>: EBCDIC ¤ÇÆ°ºî¤·¤Ê¤¤¥Æ¥¹¥È¤ò¥¹¥¥Ã¥×¤·¤Þ¤¹¡£ + +=back + +=head1 Platform Support + +(¥×¥é¥Ã¥È¥Õ¥©¡¼¥àÂбþ) + +=head2 Discontinued Platforms + +(Çѻߤµ¤ì¤¿¥×¥é¥Ã¥È¥Õ¥©¡¼¥à) + +=over 4 + +=item Windows CE + +=begin original + +Support for building perl on Windows CE has now been removed. + +=end original + +Windows CE ¤Ç perl ¤ò¥Ó¥ë¥É¤¹¤ëÂбþ¤Ïºï½ü¤µ¤ì¤Þ¤·¤¿¡£ + +=back + +=head2 Platform-Specific Notes + +(¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇͤÎÃí°Õ) + +=over 4 + +=item Linux + +=begin original + +C<cc> will be used to populate C<plibpth> if C<cc> is C<clang>. +[L<perl #134189|https://rt.perl.org/Ticket/Display.html?id=134189>] + +=end original + +C<cc> ¤¬ C<clang> ¤Î¤È¤¡¢C<cc> ¤Ï C<plibpth> ¤ò»È¤Ã¤Æ¤¤¤Þ¤·¤¿¡£ +[L<perl #134189|https://rt.perl.org/Ticket/Display.html?id=134189>] + +=item NetBSD 8.0 + +=begin original + +Fix compilation of Perl on NetBSD 8.0 with g++. +[L<GH #17381|https://github.com/Perl/perl5/issues/17381>] + +=end original + +NetBSD 8.0 ¤Ç g++ ¤ò»È¤Ã¤¿ Perl ¤Î¥³¥ó¥Ñ¥¤¥ë¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ +[L<GH #17381|https://github.com/Perl/perl5/issues/17381>] + +=item Windows + +=over 4 + +=item * + +=begin original + +The configuration for C<ccflags> and C<optimize> are now separate, as +with POSIX platforms. [L<GH #17156|https://github.com/Perl/perl5/issues/17156>] + +=end original + +POSIX ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ÈƱÍÍ¡¢ +C<ccflags> ¤È C<optimize> ¤ÎÀßÄê¤ÏʬΥ¤µ¤ì¤Þ¤·¤¿¡£ +[L<GH #17156|https://github.com/Perl/perl5/issues/17156>] + +=item * + +=begin original + +Support for building perl with Visual C++ 6.0 has now been removed. + +=end original + +Visual C++ 6.0 ¤Ç perl ¤ò¥Ó¥ë¥É¤¹¤ëÂбþ¤Ïºï½ü¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +The locale tests could crash on Win32 due to a Windows bug, and +separately due to the CRT throwing an exception if the locale name +wasn't validly encoded in the current code page. + +=end original + +Win32 ¤Ç¤Î¥í¥±¡¼¥ë¥Æ¥¹¥È¤Ï¡¢Windows ¤Î¥Ð¥°¤ª¤è¤Ó¡¢ +¥í¥±¡¼¥ë̾¤¬¸½ºß¤Î¥³¡¼¥É¥Ú¡¼¥¸¤ÇŬÀڤ˥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ¤¤¤Ê¤¤¤È +CRT ¤¬Îã³°¤òÅꤲ¤ë¤È¤¤¤¦Ê̤ÎÌäÂê¤Ë¤è¤ê¡¢¥¯¥é¥Ã¥·¥å¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¡£ + +=begin original + +For the second we now decode the locale name ourselves, and always +decode it as UTF-8. [L<perl #133981|https://rt.perl.org/Ticket/Display.html?id=133981>] + +=end original + +2 ÈÖÌܤÎÌäÂê¤Î¤¿¤á¤Ë¡¢¥í¥±¡¼¥ë̾¤Ï¼«Ê¬¼«¿È¤Ç¥Ç¥³¡¼¥É¤·¡¢ +¾ï¤Ë¤½¤ì¤ò UTF-8 ¤È¤·¤Æ¥Ç¥³¡¼¥É¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +[L<perl #133981|https://rt.perl.org/Ticket/Display.html?id=133981>] + +=item * + +=begin original + +F<t/op/magic.t> could fail if environment variables starting with +C<FOO> already existed. + +=end original + +C<FOO> ¤Ç»Ï¤Þ¤ë´Ä¶ÊÑ¿ô¤¬´û¤Ë¸ºß¤·¤Æ¤¤¤ë¤È¤¡¢ +F<t/op/magic.t> ¤¬¼ºÇÔ¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¡£ + +=item * + +=begin original + +MYMALLOC (PERL_MALLOC) build has been fixed. + +=end original + +MYMALLOC (PERL_MALLOC) ¥Ó¥ë¥É¤Ï½¤Àµ¤µ¤ì¤Þ¤·¤¿¡£ + +=back + +=item Solaris + +=over 4 + +=item * + +=begin original + +C<Configure> will now find recent versions of the Oracle Developer Studio +compiler, which are found under C</opt/developerstudio*>. + +=end original + +C<Configure> ¤Ï¡¢C</opt/developerstudio*> ¤Î²¼¤Ë¤¢¤ë¡¢ +ºÇ¶á¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Oracle Developer Studio ¥³¥ó¥Ñ¥¤¥é¤òõ¤¹¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +=begin original + +C<Configure> now uses the detected types for C<gethostby*> functions, allowing +Perl to once again compile on certain configurations of Solaris. + +=end original + +C<Configure> ¤Ï C<gethostby*> ´Ø¿ô¤Ç¸¡½Ð¤µ¤ì¤¿·¿¤ò»È¤¦¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿; +¤³¤ì¤Ë¤è¤ê¡¢Perl ¤¬ºÆ¤Ó Solaris ¤Î¤¢¤ë¼ï¤ÎÀßÄê¤Ç +¥³¥ó¥Ñ¥¤¥ë½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=back + +=item VMS + +=over 4 + +=item * + +=begin original + +With the release of the patch kit C99 V2.0, VSI has provided support for a +number of previously-missing C99 features. On systems with that patch kit +installed, Perl's configuration process will now detect the presence of the +header C<stdint.h> and the following functions: C<fpclassify>, C<isblank>, C<isless>, +C<llrint>, C<llrintl>, C<llround>, C<llroundl>, C<nearbyint>, C<round>, C<scalbn>, +and C<scalbnl>. + +=end original + +¥Ñ¥Ã¥Á¥¥Ã¥È C99 V2.0 ¤Î¥ê¥ê¡¼¥¹¤Ë¤è¤ê¡¢ +VSI ¤Ï°ÊÁ°¤ÏÉÔ¤·¤Æ¤¤¤¿Â¿¤¯¤Î C99 µ¡Ç½¤ÎÂбþ¤òÄ󶡤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +¤³¤Î¥Ñ¥Ã¥Á¥¥Ã¥È¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ +Perl ¤ÎÀßÄê¥×¥í¥»¥¹¤Ï¡¢C<stdint.h> ¥Ø¥Ã¥À¤ª¤è¤Ó¤Ä¤®¤Î´Ø¿ô¤Î¸ºß¤ò +¸¡½Ð¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿: C<fpclassify>, C<isblank>, C<isless>, +C<llrint>, C<llrintl>, C<llround>, C<llroundl>, C<nearbyint>, C<round>, C<scalbn>, +C<scalbnl>. + +=item * + +=begin original + +C<-Duse64bitint> is now the default on VMS. + +=end original + +C<-Duse64bitint> ¤Ï VMS ¤Ç¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=back + +=item z/OS + +=begin original + +Perl 5.32 has been tested on z/OS 2.4, with the following caveats: + +=end original + +Perl 5.32 ¤Ï z/OS 2.4 ¤Ç¥Æ¥¹¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢°Ê²¼¤ÎÌäÂ꤬¤¢¤ê¤Þ¤¹: + +=over 4 + +=item * + +=begin original + +Only static builds (the default) build reliably + +=end original + +(¥Ç¥Õ¥©¥ë¥È¤Î)ÀÅŪ¥Ó¥ë¥É¤Î¤ß¤¬°ÂÄꤷ¤Æ¤¤¤Þ¤¹¡£ + +=item * + +=begin original + +When using locales, z/OS does not handle the C<LC_MESSAGES> category +properly, so when compiling perl, you should add the following to your +F<Configure> options + +=end original + +¥í¥±¡¼¥ë¤ò»È¤¦¤È¤¡¢z/OS ¤Ï C<LC_MESSAGES> ¥«¥Æ¥´¥ê¤ÈŬÀڤ˰·¤¨¤Ê¤¤¤Î¤Ç¡¢ +perl ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤¡¢¼¡¤Î F<Configure> ¥ª¥×¥·¥ç¥ó¤òÄɲ乤ë¤Ù¤¤Ç¤¹: + + ./Configure <other options> -Accflags=-DNO_LOCALE_MESSAGES + +=item * + +=begin original + +z/OS does not support locales with threads, so when compiling a threaded +perl, you should add the following to your F<Configure> options + +=end original + +z/OS ¤Ï¥¹¥ì¥Ã¥É¤Ç¤Î¥í¥±¡¼¥ë¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¥¹¥ì¥Ã¥ÉÂбþ perl ¤ò +¥Ó¥ë¥É¤¹¤ë¤È¤¤Ë¡¢¼¡¤Î F<Configure> ¥ª¥×¥·¥ç¥ó¤òÄɲ乤ë¤Ù¤¤Ç¤¹: + + ./Configure <other Configure options> -Accflags=-DNO_LOCALE + +=item * + +=begin original + +Some CPAN modules that are shipped with perl fail at least one of their +self-tests. These are: +Archive::Tar, +Config::Perl::V, +CPAN::Meta, +CPAN::Meta::YAML, +Digest::MD5, +Digest::SHA, +Encode, +ExtUtils::MakeMaker, +ExtUtils::Manifest, +HTTP::Tiny, +IO::Compress, +IPC::Cmd, +JSON::PP, +libnet, +MIME::Base64, +Module::Metadata, +PerlIO::via-QuotedPrint, +Pod::Checker, +podlators, +Pod::Simple, +Socket, +and Test::Harness. + +=end original + +perl ¤È¶¦¤Ë½Ð²Ù¤µ¤ì¤ë CPAN ¥â¥¸¥å¡¼¥ë¤Î°ìÉô¤Ï¡¢¤½¤Î¥»¥ë¥Õ¥Æ¥¹¥È¤Î +¾¯¤Ê¤¯¤È¤â°ì¤Ä¤¬¼ºÇÔ¤·¤Þ¤¹¡£ +¤½¤Î¥â¥¸¥å¡¼¥ë¤Ï: +Archive::Tar, +Config::Perl::V, +CPAN::Meta, +CPAN::Meta::YAML, +Digest::MD5, +Digest::SHA, +Encode, +ExtUtils::MakeMaker, +ExtUtils::Manifest, +HTTP::Tiny, +IO::Compress, +IPC::Cmd, +JSON::PP, +libnet, +MIME::Base64, +Module::Metadata, +PerlIO::via-QuotedPrint, +Pod::Checker, +podlators, +Pod::Simple, +Socket, +and Test::Harness. + +=begin original + +The causes of the failures range from the self-test itself is flawed, +and the module actually works fine, up to the module doesn't work at all +on EBCDIC platforms. + +=end original + +¼ºÇÔ¤ÎÍýͳ¤Ï¡¢¥â¥¸¥å¡¼¥ë¤Ï¼ÂºÝ¤Ë¤ÏÀµ¤·¤¯Æ°¤¯¤±¤ì¤É¤â¥»¥ë¥Õ¥Æ¥¹¥È¼«¿È¤Ë +·ç´Ù¤¬¤¢¤ë¤â¤Î¤«¤é¡¢¥â¥¸¥å¡¼¥ë¤¬ EBCDIC ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤ÏÁ´¤¯Æ°¤«¤Ê¤¤ +¾ì¹ç¤Þ¤ÇÍÍ¡¹¤Ç¤¹¡£ + +=back + +=back + +=head1 Internal Changes + +(ÆâÉô¤ÎÊѹ¹) + +=over 4 + +=item * + +=begin original + +C<savepvn>'s len parameter is now a C<Size_t> instead of an C<I32> since we +can handle longer strings than 31 bits. + +=end original + +C<savepvn> ¤Î len °ú¿ô¤Ï¡¢C<I32> ¤Ç¤Ï¤Ê¤¯ C<Size_t> ¤Ë¤Ê¤ê¤Þ¤·¤¿; +31 ¥Ó¥Ã¥È¤òĶ¤¨¤ëŤµ¤Îʸ»úÎó¤ò°·¤¨¤ë¤«¤é¤Ç¤¹¡£ + +=item * + +=begin original + +The lexer (C<Perl_yylex()> in F<toke.c>) was previously a single 4100-line +function, relying heavily on C<goto> and a lot of widely-scoped local variables +to do its work. It has now been pulled apart into a few dozen smaller static +functions; the largest remaining chunk (C<yyl_word_or_keyword()>) is a little +over 900 lines, and consists of a single C<switch> statement, all of whose +C<case> groups are independent. This should be much easier to understand and +maintain. + +=end original + +»ú¶ç²òÀÏ´ï (F<toke.c> ¤Î C<Perl_yylex()>) ¤Ï¡¢°ÊÁ°¤Ïñ°ì¤Î 4100 ¹Ô¤Î´Ø¿ô¤Ç¡¢ +Æ°ºî¤¹¤ë¤¿¤á¤Ë C<goto> ¤ª¤è¤ÓÂçÎ̤餤¥¹¥³¡¼¥×¤ò»ý¤Ã¤¿¥í¡¼¥«¥ëÊÑ¿ô¤Ë +¤È¤Æ¤â°Í¸¤·¤Æ¤¤¤Þ¤·¤¿¡£ +¤³¤ì¤Ï¿ô½½¤Î¤è¤ê¾®¤µ¤¤ÀÅŪ´Ø¿ô¤Î´Ø¿ô¤Ëʬ³ä¤µ¤ì¤Þ¤·¤¿; +»Ä¤Ã¤¿ºÇÂç¤Î²ô (C<yyl_word_or_keyword()>) ¤Ï 900 ¹Ô¤ò¾¯¤·Ä¶¤¨¤ëÄøÅ٤ǡ¢ +ñ°ì¤Î C<switch> ʸ¤Ç¹½À®¤µ¤ì¤Æ¤ª¤ê¡¢Á´¤Æ¤Î C<case> ¥°¥ë¡¼¥×¤Ï +ÆÈΩ¤·¤Æ¤¤¤Þ¤¹¡£ +¤³¤ì¤ÇÍý²ò¤ÈÊݼ餬ÂçÉý¤ËÍưפˤʤ俤Ϥº¤Ç¤¹¡£ + +=item * + +=begin original + +The OS-level signal handlers and type (Sighandler_t) used by the perl core +were declared as having three parameters, but the OS was always told to +call them with one argument. This has been fixed by declaring them to have +one parameter. See the merge commit C<v5.31.5-346-g116e19abbf> for full +details. + +=end original + +perl ¥³¥¢¤Ç»È¤ï¤ì¤Æ¤¤¤ë OS ¥ì¥Ù¥ë¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤È·¿ (Sighandler_t) ¤Ï +3 °ú¿ô¤ò»ý¤Ä¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢ +OS ¤Ï¾ï¤Ë 1 °ú¿ô¤Ç¸Æ¤Ó½Ð¤¹¤È¤·¤Æ¤¤¤Þ¤·¤¿¡£ +¤³¤ì¤Ï¡¢1 °ú¿ô¤È¤·¤ÆÀë¸À¤¹¤ë¤è¤¦¤Ë½¤Àµ¤µ¤ì¤Þ¤·¤¿¡£ +´°Á´¤Ê¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¥Þ¡¼¥¸¥³¥ß¥Ã¥È C<v5.31.5-346-g116e19abbf> ¤ò +»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ + +=item * + +=begin original + +The code that handles C<tr///> has been extensively revised, fixing +various bugs, especially when the source and/or replacement strings +contain characters whose code points are above 255. Some of the bugs +were undocumented, one being that under some circumstances (but not all) +with C</s>, the squeezing was done based on the source, rather than the +replacement. A documented bug that got fixed was +[L<perl #125493|https://rt.perl.org/Ticket/Display.html?id=125493>]. + +=end original + +C<tr///> ¤ò°·¤¦¥³¡¼¥É¤Ï¹ÈϰϤ˸«Ä¾¤µ¤ì¡¢ÍÍ¡¹¤Ê¥Ð¥°¤¬½¤Àµ¤µ¤ì¤Þ¤·¤¿; +Æä˥½¡¼¥¹Ê¸»úÎó¤äÃÖ´¹Ê¸»úÎó¤Ë 255 ¤òĶ¤¨¤ëÉä¹æ°ÌÃÖ¤Îʸ»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë +¾ì¹ç¤Ç¤¹¡£ +¤³¤ì¤é¤Î¥Ð¥°¤Î°ìÉô¤Ïʸ½ñ²½¤µ¤ì¤Æ¤ª¤é¤º¡¢ +°ìÉô¤Ï(¤·¤«¤·Á´¤Æ¤Ç¤Ï¤Ê¤¤) C</s> ¤Î¾õ¶·¤Î²¼¤Çµ¯¤³¤ê¡¢ +°µ½Ì¤¬ÃÖ´¹Ê¸»úÎó¤Ç¤Ï¤Ê¤¯¥½¡¼¥¹Ê¸»úÎó¤ò´ð¤È¤·¤Æ¹Ô¤ï¤ì¤Æ¤¤¤Þ¤·¤¿¡£ +½¤Àµ¤µ¤ì¤¿¥Ð¥°¤Îʸ½ñ¤Ï +[L<perl #125493|https://rt.perl.org/Ticket/Display.html?id=125493>] ¤Ç¤¹¡£ + +=item * + +=begin original + +A new macro for XS writers dealing with UTF-8-encoded Unicode strings +has been created L<perlapi/C<UTF8_CHK_SKIP>> that is safer in the face +of malformed UTF-8 input than L<perlapi/C<UTF8_SKIP>> (but not as safe +as L<perlapi/C<UTF8_SAFE_SKIP>>). It won't read past a NUL character. +It has been backported in L<Devel::PPPort> 3.55 and later. + +=end original + +UTF-8 ¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿ Unicode ʸ»úÎó¤ò°·¤¦ XS ºî¼Ô¤Î¤¿¤á¤Î +¿·¤·¤¤¥Þ¥¯¥í L<perlapi/C<UTF8_CHK_SKIP>> ¤¬ºîÀ®¤µ¤ì¤Þ¤·¤¿; +¤³¤ì¤Ï¡¢ÉÔÀµ¤Ê UTF-8 ÆþÎϤËľÌ̤·¤¿¤È¤¡¢L<perlapi/C<UTF8_SKIP>> ¤è¤ê +°ÂÁ´¤Ç¤¹ (¤·¤«¤· L<perlapi/C<UTF8_SAFE_SKIP>> ¤Û¤É°ÂÁ´¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó)¡£ +¤³¤ì¤Ï NUL ʸ»ú¤òĶ¤¨¤ÆÆɤळ¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +¤³¤ì¤Ï L<Devel::PPPort> 3.55 °Ê¹ß¤Ë¥Ð¥Ã¥¯¥Ý¡¼¥È¤µ¤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +Added the C<< PL_curstackinfo->si_cxsubix >> field. This records the stack index +of the most recently pushed sub/format/eval context. It is set and restored +automatically by C<cx_pushsub()>, C<cx_popsub()> etc., but would need to be +manually managed if you do any unusual manipulation of the context stack. + +=end original + +C<< PL_curstackinfo->si_cxsubix >> ¥Õ¥£¡¼¥ë¥É¤¬Äɲ䵤ì¤Þ¤·¤¿¡£ +¤³¤ì¤Ï°ìÈֺǶá¥×¥Ã¥·¥å¤µ¤ì¤¿¥µ¥Ö¥ë¡¼¥Á¥ó/¥Õ¥©¡¼¥Þ¥Ã¥È/eval¥³¥ó¥Æ¥¥¹¥È¤Î +¥¹¥¿¥Ã¥¯¥¤¥ó¥Ç¥Ã¥¯¥¹¤òµÏ¿¤·¤Þ¤¹¡£ +¤³¤ì¤Ï C<cx_pushsub()>, C<cx_popsub()> ¤Ê¤É¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤ËÀßÄꤪ¤è¤Ó +Éüµì¤µ¤ì¤Þ¤¹¤¬¡¢¥³¥ó¥Æ¥¥¹¥È¥¹¥¿¥Ã¥¯¤ËÉáÄ̤Ǥʤ¤Áàºî¤ò¹Ô¤Ã¤¿¾ì¹ç¤Ï +¼êÆ°¤Ç´ÉÍý¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£ + +=item * + +=begin original + +Various macros dealing with character type classification and changing case +where the input is encoded in UTF-8 now require an extra parameter to prevent +potential reads beyond the end of the buffer. Use of these has generated a +deprecation warning since Perl 5.26. Details are in +L<perldeprecation/In XS code, use of various macros dealing with UTF-8.> + +=end original + +UTF-8 ¤Ç¥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ëÆþÎϤËÂФ·¤Æʸ»ú·¿¤Î¥¯¥é¥¹Ê¬¤±¤ä +Âçʸ»ú¾®Ê¸»úÊÑ´¹¤ò°·¤¦ÍÍ¡¹¤Ê¥Þ¥¯¥í¤Ï¡¢ +¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¤òĶ¤¨¤ÆÆɤ߹þ¤à²ÄǽÀ¤òÈò¤±¤ë¤¿¤á¤ËÄɲäΰú¿ô¤¬É¬Íפˤʤê¤Þ¤·¤¿¡£ +¤³¤ì¤é¤Î»ÈÍÑ¤Ï Perl 5.26 ¤«¤éÇÑ»ßͽÄê·Ù¹ð¤¬½Ð¤Æ¤¤¤Þ¤·¤¿¡£ +¾ÜºÙ¤Ï +L<perldeprecation/In XS code, use of various macros dealing with UTF-8.> ¤Ë +¤¢¤ê¤Þ¤¹¡£ + +=item * + +=begin original + +A new parser function L<parse_subsignature()|perlapi/parse_subsignature> +allows a keyword plugin to parse a subroutine signature while C<use feature +'signatures'> is in effect. This allows custom keywords to implement +semantics similar to regular C<sub> declarations that include signatures. +[L<perl #132474|https://rt.perl.org/Ticket/Display.html?id=132474>] + +=end original + +¿·¤·¤¤¥Ñ¡¼¥µ´Ø¿ô L<parse_subsignature()|perlapi/parse_subsignature> ¤Ï¡¢ +C<use feature 'signatures'> ¤¬Í¸ú¤Î¤È¤¤Ë¡¢ +¥µ¥Ö¥ë¡¼¥Á¥ó¥·¥°¥Í¥Á¥ã¤ò¥Ñ¡¼¥¹¤¹¤ë¥¡¼¥ï¡¼¥É¥×¥é¥°¥¤¥ó¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ +¤³¤ì¤Ë¤è¤ê¡¢¥·¥°¥Í¥Á¥ã¤ò´Þ¤àÄ̾ï¤Î C<sub> Àë¸À¤È»÷¤¿Ê¸Ë¡¤ò¼ÂÁõ¤¹¤ë +¥«¥¹¥¿¥à¥¡¼¥ï¡¼¥É¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ +[L<perl #132474|https://rt.perl.org/Ticket/Display.html?id=132474>] + +=item * + +=begin original + +Since on some platforms we need to hold a mutex when temporarily +switching locales, new macros (C<STORE_LC_NUMERIC_SET_TO_NEEDED_IN>, +C<WITH_LC_NUMERIC_SET_TO_NEEDED> and C<WITH_LC_NUMERIC_SET_TO_NEEDED_IN>) +have been added to make it easier to do this safely and efficiently +as part of [L<perl #134172|https://rt.perl.org/Ticket/Display.html?id=134172>]. + +=end original + +°ìÉô¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï°ì»þŪ¤Ë¥í¥±¡¼¥ë¤òÀÚ¤êÂؤ¨¤ë¤È¤¤Ë +¥ß¥å¡¼¥Æ¥Ã¥¯¥¹¤òÊÝ»ý¤¹¤ëɬÍפ¬¤¢¤ë¤Î¤Ç¡¢ +[L<perl #134172|https://rt.perl.org/Ticket/Display.html?id=134172>] ¤Î +°ìÉô¤È¤·¤Æ¡¢¤³¤ì¤ò°ÂÁ´¤«¤Ä¸úΨŪ¤Ë¤è¤ê´Êñ¤Ë¹Ô¤¦¤¿¤á¤Ë¡¢ +¿·¤·¤¤¥Þ¥¯¥í (C<STORE_LC_NUMERIC_SET_TO_NEEDED_IN>, +C<WITH_LC_NUMERIC_SET_TO_NEEDED>, C<WITH_LC_NUMERIC_SET_TO_NEEDED_IN>) ¤¬ +Äɲ䵤ì¤Þ¤·¤¿¡£ + +=item * + +=begin original + +The memory bookkeeping overhead for allocating an OP structure has been +reduced by 8 bytes per OP on 64-bit systems. + +=end original + +OP ¹½Â¤¤ò³ä¤êÅö¤Æ¤ë¤¿¤á¤Î¥á¥â¥ê´ÉÍý¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤Ï¡¢ +64 ¥Ó¥Ã¥È¥·¥¹¥Æ¥à¤Î OP ¤Ç¤Ï 8 ¥Ð¥¤¥È¸º¾¯¤·¤Þ¤·¤¿¡£ + +=item * + +=begin original + +L<eval_pv()|perlapi/eval_pv> no longer stringifies the exception when +C<croak_on_error> is true. [L<perl #134175|https://rt.perl.org/Ticket/Display.html?id=134175>] + +=end original + +L<eval_pv()|perlapi/eval_pv> ¤Ï¡¢C<croak_on_error> ¤¬¿¿¤Î¤È¤¤Ë¤â¤Ï¤ä +Îã³°¤òʸ»úÎ󲽤·¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ +[L<perl #134175|https://rt.perl.org/Ticket/Display.html?id=134175>] + +=item * + +=begin original + +The PERL_DESTRUCT_LEVEL environment variable was formerly only honoured on perl +binaries built with DEBUGGING support. It is now checked on all perl builds. +Its normal use is to force perl to individually free every block of memory +which it has allocated before exiting, which is useful when using automated +leak detection tools such as valgrind. + +=end original + +PERL_DESTRUCT_LEVEL ´Ä¶ÊÑ¿ô¤Ï¡¢°ÊÁ°¤Ï DEBUGGING Âбþ¤Ç +¥Ó¥ë¥É¤µ¤ì¤¿¥Ð¥¤¥Ê¥ê¤Ç¤Î¤ß͸ú¤Ç¤·¤¿¡£ +¤³¤ì¤ÏÁ´¤Æ¤Î perl ¥Ó¥ë¥É¤Ç¥Á¥§¥Ã¥¯¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +¤³¤ÎÄ̾ï¤Î»ÈÍÑË¡¤Ï¡¢½ªÎ»Á°¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥á¥â¥ê¤Î¥Ö¥í¥Ã¥¯¤ò¸Ä¡¹¤Ë +²òÊü¤¹¤ë¤³¤È¤ò perl ¤Ë¶¯À©¤¹¤ë¤â¤Î¤Ç¡¢ +valgrind ¤Î¤è¤¦¤Ê¼«Æ°¥ê¡¼¥¯¸¡½Ð¥Ä¡¼¥ë¤ò»È¤¦¤È¤¤ËÍÍѤǤ¹¡£ + +=item * + +=begin original + +The API eval_sv() now accepts a C<G_RETHROW> flag. If this flag is set and an +exception is thrown while compiling or executing the supplied code, it will be +rethrown, and eval_sv() will not return. +[L<perl #134177|https://rt.perl.org/Ticket/Display.html?id=134177>] + +=end original + +API eval_sv() ¤Ï C<G_RETHROW> ¥Õ¥é¥°¤ò¼õ¤±ÉÕ¤±¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +¤³¤Î¥Õ¥é¥°¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Æ¡¢»ØÄꤵ¤ì¤¿¥³¡¼¥É¤Î¥³¥ó¥Ñ¥¤¥ëÃæ¤ä +¼Â¹ÔÃæ¤ËÎã³°¤¬Åꤲ¤é¤ì¤¿¾ì¹ç¡¢ +ºÆ¥¹¥í¡¼¤µ¤ì¡¢eval_sv() ¤ÏÊÖ¤ê¤Þ¤»¤ó¡£ +[L<perl #134177|https://rt.perl.org/Ticket/Display.html?id=134177>] + +=item * + +=begin original + +As part of the fix for +[L<perl #2754|https://rt.perl.org/Ticket/Display.html?id=2754>] perl_parse() +now returns non-zero if exit(0) is called in a C<BEGIN>, C<UNITCHECK> or +C<CHECK> block. + +=end original + +[L<perl #2754|https://rt.perl.org/Ticket/Display.html?id=2754>] ¤Î½¤Àµ¤Î +°ìÉô¤È¤·¤Æ¡¢perl_parse() ¤Ï¡¢ +exit(0) ¤¬ C<BEGIN>, C<UNITCHECK>, C<CHECK> ¥Ö¥í¥Ã¥¯¤Î¤¤¤º¤ì¤«¤«¤é +¸Æ¤Ð¤ì¤¿¤È¤¤Ë¤ÏÈó 0 ¤òÊÖ¤¹¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +=begin original + +Most functions which recursively walked an op tree during compilation have been +made non-recursive. This avoids SEGVs from stack overflow when the op tree is +deeply nested, such as C<$n == 1 ? "one" : $n == 2 ? "two" : ....> (especially +in code which is auto-generated). + +=end original + +¥³¥ó¥Ñ¥¤¥ëÃæ¤Ë op ÌÚ¤òºÆµ¢Åª¤Ëõº÷¤·¤Æ¤¤¤¿¤Û¤È¤ó¤É¤Î´Ø¿ô¤Ï +ºÆµ¢¤·¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ +¤³¤ì¤Ë¤è¤ê¡¢(Æä˼«Æ°À¸À®¤µ¤ì¤¿¾ì¹ç¤Ë) op ÌÚ¤¬ +C<$n == 1 ? "one" : $n == 2 ? "two" : ....> ¤Î¤è¤¦¤Ë¿¼¤¯¥Í¥¹¥È¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢ +¥¹¥¿¥Ã¥¯¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤Ë¤è¤ê SEGV ¤¹¤ë¤Î¤ò²óÈò¤·¤Þ¤¹¡£ + +=begin original + +This is particularly noticeable where the code is compiled within a separate +thread, as threads tend to have small stacks by default. + +=end original + +¥¹¥ì¥Ã¥É¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÈæ³ÓŪ¾¯¤Ê¤¤¥¹¥¿¥Ã¥¯¤·¤«»ý¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢ +¤³¤ì¤Ï¥³¡¼¥É¤¬ÊÌ¡¹¤Î¥¹¥ì¥Ã¥É¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¤È¤¤ËÆä˸²Ãø¤Ç¤¹¡£ + +=back + +=head1 Selected Bug Fixes + +(¥Ð¥°½¤Àµ¤ÎÈ´¿è) + +=over 4 + +=item * + +=begin original + +Previously L<perlfunc/require> would only treat the special built-in +SV C<&PL_sv_undef> as a value in C<%INC> as if a previous C<require> +has failed, treating other undefined SVs as if the previous C<require> +has succeeded. This could cause unexpected success from C<require> +e.g., on C<local %INC = %INC;>. This has been fixed. [L<GH #17428|https://github.com/Perl/perl5/issues/17428>] + +=end original + +°ÊÁ°¤Î L<perlfunc/require> ¤Ï¡¢ +Æüì¤Ê¥Ó¥ë¥É¥¤¥ó SV C<&PL_sv_undef> ¤¬ +C<%INC> ¤ÎÃͤȤ·¤Æ¤¢¤ë¾ì¹ç¤Ë¤Î¤ßÁ°²ó¤Î C<require> ¤¬¼ºÇÔ¤·¤¿¤â¤Î¤È¤·¤Æ°·¤¤¡¢ +¤½¤Î¾¤Î̤ÄêµÁ¤Î SV ¤¬¤¢¤ë¾ì¹ç¤Ï°ÊÁ°¤Î C<require> ¤ÏÀ®¸ù¤·¤¿¤â¤Î¤È¤·¤Æ +°·¤Ã¤Æ¤¤¤Þ¤·¤¿¡£ +¤³¤ì¤Ï C<local %INC = %INC;> ¤Î¤è¤¦¤Ê¾ì¹ç¤ËÁÛÄê³°¤Ë C<require> ¤¬ +À®¸ù¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¡£ +¤³¤ì¤Ï½¤Àµ¤µ¤ì¤Þ¤·¤¿¡£ +[L<GH #17428|https://github.com/Perl/perl5/issues/17428>] + +=item * + +=begin original + +C<(?{...})> eval groups in regular expressions no longer unintentionally +trigger "EVAL without pos change exceeded limit in regex" [L<GH #17490|https://github.com/Perl/perl5/issues/17490>]. + +=end original + +Àµµ¬É½¸½¤Î C<(?{...})> eval ¥°¥ë¡¼¥×¤Ï¤â¤Ï¤ä +ÁÛÄê³°¤Ë "EVAL without pos change exceeded limit in regex" ¤ò +°ú¤µ¯¤³¤µ¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ +[L<GH #17490|https://github.com/Perl/perl5/issues/17490>]. + +=item * + +=begin original + +C<(?[...])> extended bracketed character classes do not wrongly raise an +error on some cases where a previously-compiled such class is +interpolated into another. The heuristics previously used have been +replaced by a reliable method, and hence the diagnostics generated have +changed. See L</Diagnostics>. + +=end original + +C<(?[...])> ³ÈÄ¥Â礫¤Ã¤³Ê¸»ú¥¯¥é¥¹¤Ï¡¢»öÁ°¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤¿ +¥¯¥é¥¹¤¬Â¾¤Î¤â¤Î¤ËÁÞÆþ¤µ¤ì¤¿°ìÉô¤Î¾ì¹ç¤Ç´Ö°ã¤Ã¤Æ¥¨¥é¡¼¤ò +ȯÀ¸¤µ¤»¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ +°ÊÁ°»È¤ï¤ì¤Æ¤¤¤¿·Ð¸³Â§¤Ï¤è¤ê¿®ÍêÀ¤Î¤¢¤ë¼êË¡¤ËÃÖ¤´¹¤¨¤é¤ì¤¿¤Î¤Ç¡¢ +À¸À®¤µ¤ì¤ë¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿¡£ +L</Diagnostics> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ + +=item * + +=begin original + +The debug display (say by specifying C<-Dr> or S<C<use re>> (with +appropriate options) of compiled Unicode property wildcard subpatterns no +longer has extraneous output. + +=end original + +((ŬÀڤʥª¥×¥·¥ç¥óÉÕ¤¤Î C<-Dr> ¤ä S<C<use re>> ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ë) +¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿ Unicode ÆÃÀ¥ï¥¤¥ë¥É¥«¡¼¥ÈÉôʬ¥Ñ¥¿¡¼¥ó¤Î +¥Ç¥Ð¥Ã¥°É½¼¨¤Ï¡¢¤â¤Ï¤ä;ʬ¤Ê½ÐÎϤò¤·¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +=begin original + +Fix an assertion failure in the regular expression engine. +[L<GH #17372|https://github.com/Perl/perl5/issues/17372>] + +=end original + +Àµµ¬É½¸½¥¨¥ó¥¸¥ó¤Î¥¢¥µ¡¼¥È¼ºÇÔ¤¬½¤Àµ¤µ¤ì¤Þ¤·¤¿¡£ +[L<GH #17372|https://github.com/Perl/perl5/issues/17372>] + +=item * + +=begin original + +Fix coredump in pp_hot.c after C<B::UNOP_AUX::aux_list()>. +[L<GH #17301|https://github.com/Perl/perl5/issues/17301>] + +=end original + +C<B::UNOP_AUX::aux_list()> ¤Î¸å¤Î pp_hot.c ¤Î¥³¥¢¥À¥ó¥×¤¬½¤Àµ¤µ¤ì¤Þ¤·¤¿¡£ +[L<GH #17301|https://github.com/Perl/perl5/issues/17301>] + +=item * + +=begin original + +Loading IO is now threadsafe. +[L<GH #14816|https://github.com/Perl/perl5/issues/14816>] + +=end original + +IO ¤ÎÆɤ߹þ¤ß¤Ï¥¹¥ì¥Ã¥É¥»¡¼¥Õ¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +[L<GH #14816|https://github.com/Perl/perl5/issues/14816>] + +=item * + +=begin original + +C<\p{user-defined}> overrides official Unicode [L<GH #17025|https://github.com/Perl/perl5/issues/17025>] + +=end original + +C<\p{user-defined}> ¤Ï¸ø¼°¤Ê Unicode ¤ò¾å½ñ¤¤·¤Þ¤¹ +[L<GH #17025|https://github.com/Perl/perl5/issues/17025>] + +=begin original + +Prior to this patch, the override was only sometimes in effect. + +=end original + +¤³¤Î¥Ñ¥Ã¥Á°ÊÁ°¤Ç¤Ï¡¢¾å½ñ¤¤Ï°ìÉô¤Î¾ì¹ç¤Ë¤Î¤ß͸ú¤Ç¤·¤¿¡£ + +=item * + +=begin original + +Properly handle filled C</il> regnodes and multi-char folds + +=end original + +Ëä¤Þ¤Ã¤Æ¤¤¤ë C</il> regnode ¤ÈÊ£¿ôʸ»ú¾ö¤ß¹þ¤ß¤òŬÀڤ˰·¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿ + +=item * + +=begin original + +Compilation error during make minitest [L<GH #17293|https://github.com/Perl/perl5/issues/17293>] + +=end original + +make minitest Ãæ¤Î¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼ +[L<GH #17293|https://github.com/Perl/perl5/issues/17293>] + +=item * + +=begin original + +Move the implementation of C<%->, C<%+> into core. + +=end original + +C<%->, C<%+> ¤Î¼ÂÁõ¤Ï¥³¥¢¤Ë°Ü¤ê¤Þ¤·¤¿¡£ + +=item * + +=begin original + +Read beyond buffer in C<grok_inf_nan> [L<GH #17370|https://github.com/Perl/perl5/issues/17370>] + +=end original + +C<grok_inf_nan> ¤Î¥Ð¥Ã¥Õ¥¡¤òĶ¤¨¤¿Æɤ߹þ¤ß +[L<GH #17370|https://github.com/Perl/perl5/issues/17370>] + +=item * + +=begin original + +Workaround glibc bug with C<LC_MESSAGES> [L<GH #17081|https://github.com/Perl/perl5/issues/17081>] + +=end original + +C<LC_MESSAGES> ¤Ë´Ø¤¹¤ë glibc ¥Ð¥°¤Î²óÈò +[L<GH #17081|https://github.com/Perl/perl5/issues/17081>] + +=item * + +=begin original + +C<printf()> or C<sprintf()> with the C<%n> format could cause a panic on +debugging builds, or report an incorrectly cached length value when +producing C<SVfUTF8> flagged strings. [L<GH #17221|https://github.com/Perl/perl5/issues/17221>] + +=end original + +C<printf()> ¤ä C<sprintf()> ¤Î C<%n> ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¢ +¥Ç¥Ð¥Ã¥°¥Ó¥ë¥É¤Ç¤Ï panic ¤·¤¿¤ê¡¢ +C<SVfUTF8> ¥Õ¥é¥°ÉÕ¤¤Îʸ»úÎó¤òÀ¸À®¤¹¤ë¤È¤¤Ë¸í¤Ã¤¿¥¥ã¥Ã¥·¥å¤µ¤ì¤¿Ä¹¤µ¤ò +Êó¹ð¤·¤Æ¤¤¤Þ¤·¤¿¡£ +[L<GH #17221|https://github.com/Perl/perl5/issues/17221>] + +=item * + +=begin original + +The tokenizer has been extensively refactored. +[L<GH #17241|https://github.com/Perl/perl5/issues/17241>] +[L<GH #17189|https://github.com/Perl/perl5/issues/17189>] + +=end original + +»ú¶ç²òÀÏ´ï¤Ï¹ÈϰϤ˥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤µ¤ì¤Þ¤·¤¿¡£ +[L<GH #17241|https://github.com/Perl/perl5/issues/17241>] +[L<GH #17189|https://github.com/Perl/perl5/issues/17189>] + +=item * + +=begin original + +C<use strict "subs"> is now enforced for bareword constants optimized +into a C<multiconcat> operator. [L<GH #17254|https://github.com/Perl/perl5/issues/17254>] + +=end original + +C<multiconcat> ±é»»»Ò¤ËºÇŬ²½¤µ¤ì¤¿Íç¤Îñ¸ìÄê¿ô¤Ï +C<use strict "subs"> ¤¬¶¯À©¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +[L<GH #17254|https://github.com/Perl/perl5/issues/17254>] + +=item * + +=begin original + +A memory leak in regular expression patterns has been fixed. [L<GH #17218|https://github.com/Perl/perl5/issues/17218>] + +=end original + +Àµµ¬É½¸½¥Ñ¥¿¡¼¥ó¤Î¥á¥â¥ê¥ê¡¼¥¯¤¬½¤Àµ¤µ¤ì¤Þ¤·¤¿¡£ +[L<GH #17218|https://github.com/Perl/perl5/issues/17218>] + +=item * + +=begin original + +Perl no longer treats strings starting with "0x" or "0b" as hex or +binary numbers respectively when converting a string to a number. +This reverts a change in behaviour inadvertently introduced in perl +5.30.0 intended to improve precision when converting a string to a +floating point number. [L<perl #134230|https://rt.perl.org/Ticket/Display.html?id=134230>] + +=end original + +Perl ¤Ï¤â¤Ï¤ä¡¢Ê¸»úÎ󤫤é¿ôÃͤËÊÑ´¹¤¹¤ë¤È¤¤Ë¡¢"0x" ¤ä "0b" ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤ë +ʸ»úÎó¤ò¤½¤ì¤¾¤ì 16 ¿Ê¿ô¤ä 2 ¿Ê¿ô¤È°·¤ï¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ +¤³¤ì¤Ï¡¢Ê¸»úÎ󤫤éÉâÆ°¾®¿ôÅÀ¿ô¤ËÊÑ´¹¤¹¤ë¤È¤¤ÎÀºÅÙ¤ò²þÁ±¤¹¤ë¤³¤È¤ò +ÌÜŪ¤È¤·¤Æ¡¢perl 5.30.0 ¤ÇÉÔÃí°Õ¤Ë¤è¤Ã¤ÆƳÆþ¤µ¤ì¤¿¿¶¤ëÉñ¤¤¤ÎÊѹ¹¤ò +¸µ¤ËÌᤷ¤Þ¤¹¡£ +[L<perl #134230|https://rt.perl.org/Ticket/Display.html?id=134230>] + +=item * + +=begin original + +Matching a non-C<SVf_UTF8> string against a regular expression +containing unicode literals could leak a SV on each match attempt. +[L<perl #134390|https://rt.perl.org/Ticket/Display.html?id=134390>] + +=end original + +Unicode ¥ê¥Æ¥é¥ë¤ò´Þ¤àÀµµ¬É½¸½¤ËÂФ·¤ÆÈó C<SVf_UTF8> ʸ»úÎó¤ò +¥Þ¥Ã¥Á¥ó¥°¤µ¤»¤ë¤È¡¢¥Þ¥Ã¥Á¥ó¥°¤ò»î¹Ô¤¹¤ëËè¤Ë SV ¤¬ +¥ê¡¼¥¯¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¡£ +[L<perl #134390|https://rt.perl.org/Ticket/Display.html?id=134390>] + +=item * + +=begin original + +Overloads for octal and binary floating point literals were always +passed a string with a C<0x> prefix instead of the appropriate C<0> or +C<0b> prefix. [L<perl #125557|https://rt.perl.org/Ticket/Display.html?id=125557>] + +=end original + +8 ¿Ê¤ª¤è¤Ó 2 ¿ÊÉâÆ°¾®¿ôÅÀ¿ô¥ê¥Æ¥é¥ë¤Î¥ª¡¼¥Ð¡¼¥í¡¼¥É¤Ç¤Ï¡¢ +ŬÀÚ¤Ê C<0> ¤ª¤è¤Ó C<0b> ÀÜƬ¼¤Ç¤Ï¤Ê¤¯¡¢ +¾ï¤Ë C<0x> ÀÜƬ¼ÉÕ¤¤Îʸ»úÎó¤¬ÅϤµ¤ì¤Æ¤¤¤Þ¤·¤¿¡£ +[L<perl #125557|https://rt.perl.org/Ticket/Display.html?id=125557>] + +=item * + +=begin original + +C<< $@ = 100; die; >> now correctly propagates the 100 as an exception +instead of ignoring it. [L<perl #134291|https://rt.perl.org/Ticket/Display.html?id=134291>] + +=end original + +C<< $@ = 100; die; >> ¤Ï¡¢100 ¤ò̵»ë¤¹¤ë¤³¤È¤Ê¤¯¡¢Àµ¤·¤¯Îã³°¤È¤·¤Æ +ÅÁȤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +[L<perl #134291|https://rt.perl.org/Ticket/Display.html?id=134291>] + +=item * + +=begin original + +C<< 0 0x@ >> no longer asserts in S_no_op(). [L<perl #134310|https://rt.perl.org/Ticket/Display.html?id=134310>] + +=end original + +C<< 0 0x@ >> ¤Ï¤â¤Ï¤ä S_no_op() ¤Ç¥¢¥µ¡¼¥È¤·¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ +[L<perl #134310|https://rt.perl.org/Ticket/Display.html?id=134310>] + +=item * + +=begin original + +Exceptions thrown while C<$@> is read-only could result in infinite +recursion as perl tried to update C<$@>, which throws another +exception, resulting in a stack overflow. Perl now replaces C<$@> +with a copy if it's not a simple writable SV. [L<perl #134266|https://rt.perl.org/Ticket/Display.html?id=134266>] + +=end original + +C<$@> ¤¬Æɤ߹þ¤ßÀìÍѤΤȤ¤ËÎã³°¤¬Åꤲ¤é¤ì¤ë¤È¡¢ +perl ¤¬ C<$@> ¤ò¹¹¿·¤·¤è¤¦¤È¤·¤Æ¿·¤·¤¤Îã³°¤¬È¯À¸¤¹¤ë¤Î¤Ç¡¢ +̵¸ÂºÆµ¢¤òµ¯¤³¤·¤Æ¥¹¥¿¥Ã¥¯¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤È¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¡£, +Perl ¤Ï¡¢C<$@> ¤¬Ã±½ã¤Ê½ñ¤¹þ¤ß²Äǽ¤Ê SV ¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢ +¥³¥Ô¡¼¤ÇÃÖ¤´¹¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +[L<perl #134266|https://rt.perl.org/Ticket/Display.html?id=134266>] + +=item * + +=begin original + +Setting C<$)> now properly sets supplementary group ids if you have +the necessary privileges. [L<perl #134169|https://rt.perl.org/Ticket/Display.html?id=134169>] + +=end original + +C<$)> ¤Ø¤ÎÀßÄê¤Ï¡¢Å¬Àڤʸ¢¸Â¤¬¤¢¤ì¤Ð¡¢Àµ¤·¤¯Êä½õ¥°¥ë¡¼¥× ID ¤ò +ÀßÄꤹ¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +[L<perl #134169|https://rt.perl.org/Ticket/Display.html?id=134169>] + +=item * + +=begin original + +close() on a pipe now preemptively clears the PerlIO object from the +IO SV. This prevents a second attempt to close the already closed +PerlIO object if a signal handler calls die() or exit() while close() +is waiting for the child process to complete. [L<perl #122112|https://rt.perl.org/Ticket/Display.html?id=122112>] + +=end original + +¥Ñ¥¤¥×¤ËÂФ¹¤ë close() ¤Ï¡¢IO SV ¤«¤é¤Î PerlIO ¥ª¥Ö¥¸¥§¥¯¥È¤òͽËÉŪ¤Ë +¥¯¥ê¥¢¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +¤³¤ì¤Ï¡¢¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤¬ die() ¤Þ¤¿¤Ï exit() ¤ò¸Æ¤Ó½Ð¤·¤¿°ìÊý¡¢ +close() ¤Ï»Ò¥×¥í¥»¥¹¤Î´°Î»¤òÂԤäƤ¤¤ë¾ì¹ç¤Ë¡¢ +´û¤ËÊĤ¸¤¿ PerlIO ¥ª¥Ö¥¸¥§¥¯¥È¤òºÆ¤ÓÊĤ¸¤è¤¦¤È¤¹¤ë¤³¤È¤òËɤ®¤Þ¤¹¡£ +[L<perl #122112|https://rt.perl.org/Ticket/Display.html?id=122112>] + +=item * + +=begin original + +C<< sprintf("%.*a", -10000, $x) >> would cause a buffer overflow due +to mishandling of the negative precision value. [L<perl #134008|https://rt.perl.org/Ticket/Display.html?id=134008>] + +=end original + +C<< sprintf("%.*a", -10000, $x) >> ¤Ï¡¢Éé¿ô¤ÎÀºÅ٤ΰ·¤¤¤Î¸í¤ê¤Ë¤è¤ê +¥Ð¥Ã¥Õ¥¡¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤ò°ú¤µ¯¤³¤¹¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¡£ +[L<perl #134008|https://rt.perl.org/Ticket/Display.html?id=134008>] + +=item * + +=begin original + +scalar() on a reference could cause an erroneous assertion failure +during compilation. [L<perl #134045|https://rt.perl.org/Ticket/Display.html?id=134045>] + +=end original + +¥ê¥Õ¥¡¥ì¥ó¥¹¤ËÂФ¹¤ë scalar() ¤Ï¥³¥ó¥Ñ¥¤¥ëÃæ¤Ë¸í¤Ã¤¿¥¢¥µ¡¼¥È¼ºÇÔ¤ò +°ú¤µ¯¤³¤¹¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¡£ +[L<perl #134045|https://rt.perl.org/Ticket/Display.html?id=134045>] + +=item * + +=begin original + +C<%{^CAPTURE_ALL}> is now an alias to C<%-> as documented, rather than +incorrectly an alias for C<%+>. [L<perl #131867|https://rt.perl.org/Ticket/Display.html?id=131867>] + +=end original + +C<%{^CAPTURE_ALL}> ¤Ï¡¢¸í¤Ã¤Æ C<%+> ¤ÎÊÌ̾¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤·¤¿¤¬¡¢ +ʸ½ñÄ̤ê C<%-> ¤ÎÊÌ̾¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +[L<perl #131867|https://rt.perl.org/Ticket/Display.html?id=131867>] + +=item * + +=begin original + +C<%{^CAPTURE}> didn't work if C<@{^CAPTURE}> was mentioned first. +Similarly for C<%{^CAPTURE_ALL}> and C<@{^CAPTURE_ALL}>, though +C<@{^CAPTURE_ALL}> currently isn't used. [L<perl #134193|https://rt.perl.org/Ticket/Display.html?id=134193>] + +=end original + +C<@{^CAPTURE}> ¤ËÀè¤Ë¸ÀµÚ¤µ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢ +C<%{^CAPTURE}> ¤ÏÆ°ºî¤·¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£ +Similarly for +C<%{^CAPTURE_ALL}> ¤È C<@{^CAPTURE_ALL}> ¤Ç¤âƱÍͤǤ·¤¿¤¬¡¢ +¸½ºß C<@{^CAPTURE_ALL}> ¤Ï»È¤ï¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +[L<perl #134193|https://rt.perl.org/Ticket/Display.html?id=134193>] + +=item * + +=begin original + +Extraordinarily large (over 2GB) floating point format widths could +cause an integer overflow in the underlying call to snprintf(), +resulting in an assertion. Formatted floating point widths are now +limited to the range of int, the return value of snprintf(). [L<perl +#133913|https://rt.perl.org/Ticket/Display.html?id=133913>] + +=end original + +(2GB ¤òĶ¤¨¤ë) °Û¾ï¤ËÂ礤¤ÉâÆ°¾®¿ôÅÀ¿ôÉý¤Ï¡¢ +´ð¤È¤Ê¤ë snprintf() ¤ÎÀ°¿ô¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤ò°ú¤µ¯¤³¤·¡¢ +¥¢¥µ¡¼¥È¤È¤Ê¤Ã¤Æ¤¤¤Þ¤·¤¿¡£ +¥Õ¥©¡¼¥Þ¥Ã¥È¤µ¤ì¤¿ÉâÆ°¾®¿ôÅÀ¿ôÉý¤Ï¡¢snprintf() ¤ÎÊÖ¤êÃͤǤ¢¤ë +int ¤ÎÉý¤ËÀ©¸Â¤µ¤ì¤Þ¤·¤¿¡£ +[L<perl #133913|https://rt.perl.org/Ticket/Display.html?id=133913>] + +=item * + +=begin original + +Parsing the following constructs within a sub-parse (such as with +C<"${code here}"> or C<s/.../code here/e>) has changed to match how +they're parsed normally: + +=end original + +C<"${code here}"> ¤ä C<s/.../code here/e> ¤Î¤è¤¦¤Ê) +Éôʬ¥Ñ¡¼¥¹¤ÎÃæ¤Î¼¡¤Î¤è¤¦¤Ê¹½Ê¸¤Î¥Ñ¡¼¥¹¤Ï¡¢Ä̾ïÄ̤ê¥Ñ¡¼¥¹¤µ¤ì¤¿¤È¤¤È +°ìÃפ¹¤ë¤è¤¦¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿: + +=over + +=item * + +=begin original + +C<print $fh ...> no longer produces a syntax error. + +=end original + +C<print $fh ...> ¤Ï¤â¤Ï¤äʸˡ¥¨¥é¡¼¤Ë¤Ê¤é¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +=begin original + +Code like C<s/.../ ${time} /e> now properly produces an "Ambiguous use +of ${time} resolved to $time at ..." warning when warnings are enabled. + +=end original + +C<s/.../ ${time} /e> ¤Î¤è¤¦¤Ê¥³¡¼¥É¤Ï¡¢·Ù¹ð¤¬Í¸ú¤Î¾ì¹ç¤Ë +ŬÀÚ¤Ë "Ambiguous use +of ${time} resolved to $time at ..." ·Ù¹ð¤ò½ÐÎϤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +=begin original + +C<@x {"a"}> (with the space) in a sub-parse now properly produces a +"better written as" warning when warnings are enabled. + +=end original + +Éôʬ¥Ñ¡¼¥¹¤Ç¤Î (¥¹¥Ú¡¼¥¹ÉÕ¤¤Î) C<@x {"a"}> ¤Ï¡¢ +·Ù¹ð¤¬Í¸ú¤Î¾ì¹ç¤ËŬÀÚ¤Ë +"better written as" ·Ù¹ð¤ò½ÐÎϤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +=item * + +=begin original + +Attributes can now be used in a sub-parse. +[L<perl #133850|https://rt.perl.org/Ticket/Display.html?id=133850>] + +=end original + +°À¤òÉôʬ¥Ñ¡¼¥¹¤ÎÃæ¤Ç»È¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +[L<perl #133850|https://rt.perl.org/Ticket/Display.html?id=133850>] + +=back + +=item * + +=begin original + +Incomplete hex and binary literals like C<0x> and C<0b> are now +treated as if the C<x> or C<b> is part of the next token. [L<perl +#134125|https://rt.perl.org/Ticket/Display.html?id=134125>] + +=end original + +C<0x> ¤ä C<0b> ¤Î¤è¤¦¤ÊÉÔ´°Á´¤Ê 16 ¿Ê¤Þ¤¿¤Ï 2 ¿Ê¥ê¥Æ¥é¥ë¤Ï¡¢ +C<x> ¤ä C<b> ¤Ï¼¡¤Î¥È¡¼¥¯¥ó¤Î°ìÉô¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë°·¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +[L<perl #134125|https://rt.perl.org/Ticket/Display.html?id=134125>] + +=item * + +=begin original + +A spurious C<)> in a subparse, such as in C<s/.../code here/e> or +C<"...${code here}">, no longer confuses the parser. + +=end original + +C<s/.../code here/e> ¤ä C<"...${code here}"> ¤Î¤è¤¦¤Ê +Éôʬ¥Ñ¡¼¥¹Ãæ¤Î¸í¤Ã¤¿ C<)> ¤Ï¤â¤Ï¤ä¥Ñ¡¼¥µ¤òº®Í𤵤»¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ + +=begin original + +Previously a subparse was bracketed with generated C<(> and C<)> +tokens, so a spurious C<)> would close the construct without doing the +normal subparse clean up, confusing the parser and possible causing an +assertion failure. + +=end original + +°ÊÁ°¤ÏÉôʬ¥Ñ¡¼¥¹¤ÏÀ¸À®¤µ¤ì¤¿ C<(> ¤ª¤è¤Ó C<)> ¥È¡¼¥¯¥ó¤Ç°Ï¤Þ¤ì¤Æ¤¤¤¿¤Î¤Ç¡¢ +¸í¤Ã¤¿ C<)> ¤ÏÄ̾ï¤ÎÉôʬ¥Ñ¡¼¥¹¤Î¸åÊÒÉÕ¤±¤ò¤»¤º¤Ë¹½Ê¸¤òÊĤ¸¤ë¤³¤È¤Ë¤Ê¤ê¡¢ +¥Ñ¡¼¥µ¤òº®Í𤵤»¤Æ¡¢¥¢¥µ¡¼¥È¼ºÇԤȤʤë¾ì¹ç¤¬¤¢¤ê¤Þ¤·¤¿¡£ + +=begin original + +Such constructs are now surrounded by artificial tokens that can't be +included in the source. [L<perl #130585|https://rt.perl.org/Ticket/Display.html?id=130585>] + +=end original + +¤³¤Î¤è¤¦¤Ê¹½Ê¸¤Ï¡¢¥½¡¼¥¹Ãæ¤Ë´Þ¤à¤³¤È¤Î¤Ç¤¤Ê¤¤¿Í¹©Åª¤Ê +¥È¡¼¥¯¥ó¤Ç°Ï¤Þ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +[L<perl #130585|https://rt.perl.org/Ticket/Display.html?id=130585>] + +=item * + +=begin original + +Reference assignment of a sub, such as C<\&foo = \&bar;>, silently did +nothing in the C<main::> package. [L<perl #134072|https://rt.perl.org/Ticket/Display.html?id=134072>] + +=end original + +C<\&foo = \&bar;> ¤Î¤è¤¦¤Ê¥µ¥Ö¥ë¡¼¥Á¥ó¤Ø¤Î¥ê¥Õ¥¡¥ì¥ó¥¹ÂåÆþ¤Ï¡¢ +C<main::> ¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï°ÅÌۤ˲¿¤â¤·¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£ +[L<perl #134072|https://rt.perl.org/Ticket/Display.html?id=134072>] + +=item * + +=begin original + +sv_gets() now recovers better if the target SV is modified by a signal +handler. [L<perl #134035|https://rt.perl.org/Ticket/Display.html?id=134035>] + +=end original + +sv_gets() ¤Ï¡¢¥¿¡¼¥²¥Ã¥È SV ¤¬¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ë¤è¤Ã¤ÆÊѹ¹¤µ¤ì¤¿¤È¤¤Ë +¤è¤ê¤è¤¯²óÉü¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +[L<perl #134035|https://rt.perl.org/Ticket/Display.html?id=134035>] + +=item * + +=begin original + +C<readline @foo> now evaluates C<@foo> in scalar context. Previously +it would be evaluated in list context, and since readline() pops only +one argument from the stack, the stack could underflow, or be left +with unexpected values on the stack. [L<perl #133989|https://rt.perl.org/Ticket/Display.html?id=133989>] + +=end original + +C<readline @foo> ¤Ï C<@foo> ¤ò¥¹¥«¥é¥³¥ó¥Æ¥¥¹¥È¤Çɾ²Á¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +°ÊÁ°¤Ï¡¢¤³¤ì¤Ï¥ê¥¹¥È¥³¥ó¥Æ¥¥¹¥È¤È¤·¤Æɾ²Á¤µ¤ì¡¢ +readline() ¤Ï¥¹¥¿¥Ã¥¯¤«¤é°ì¤Ä¤Î°ú¿ô¤·¤«¥Ý¥Ã¥×¤·¤Ê¤¤¤Î¤Ç¡¢ +¥¹¥¿¥Ã¥¯¤¬¥¢¥ó¥À¡¼¥Õ¥í¡¼¤·¤¿¤ê¡¢¥¹¥¿¥Ã¥¯¤ËÁÛÄê³°¤ÎÃͤ¬»Ä¤Ã¤¿¤ê¤·¤Æ¤¤¤Þ¤·¤¿¡£ +[L<perl #133989|https://rt.perl.org/Ticket/Display.html?id=133989>] + +=item * + +=begin original + +Parsing incomplete hex or binary literals was changed in 5.31.1 to treat such a +literal as just the 0, leaving the following C<x> or C<b> to be parsed as part +of the next token. This could lead to some silent changes in behaviour, so now +incomplete hex or binary literals produce a fatal error. +[L<perl #134125|https://rt.perl.org/Ticket/Display.html?id=134125>] + +=end original + +ÉÔ´°Á´¤Ê 16 ¿Ê¤ä 2 ¿Ê¤Î¥ê¥Æ¥é¥ë¤Ï¡¢Ã±¤Ê¤ë 0 ¤Î¥ê¥Æ¥é¥ë¤È°·¤ï¤ì¤ë¤è¤¦¤Ë +5.31.1 ¤ÇÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£ +¤³¤ì¤Ï°ÅÌۤﶤëÉñ¤¤¤ÎÊѹ¹¤ò°ú¤µ¯¤³¤¹¤³¤È¤¬¤¢¤Ã¤¿¤Î¤Ç¡¢ +ÉÔ´°Á´¤Ê 16 ¿Ê¤Þ¤¿¤Ï 2 ¿Ê¥ê¥Æ¥é¥ë¤ÏÃ×̿Ū¥¨¥é¡¼¤ò½ÐÎϤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +[L<perl #134125|https://rt.perl.org/Ticket/Display.html?id=134125>] + +=item * + +=begin original + +eval_pv()'s I<croak_on_error> flag will now throw even if the exception is a +false overloaded value. +[L<perl #134177|https://rt.perl.org/Ticket/Display.html?id=134177>] + +=end original + +eval_pv() ¤Î I<croak_on_error> ¥Õ¥é¥°¤Ï¡¢Î㤨Îã³°¤¬ +µ¶¤Î¥ª¡¼¥Ð¡¼¥í¡¼¥É¤µ¤ì¤¿ÃͤǤâÎã³°¤òÅꤲ¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +[L<perl #134177|https://rt.perl.org/Ticket/Display.html?id=134177>] + +=item * + +=begin original + +C<INIT> blocks and the program itself are no longer run if exit(0) is called +within a C<BEGIN>, C<UNITCHECK> or C<CHECK> block. +[L<perl #2754|https://rt.perl.org/Ticket/Display.html?id=2754>] + +=end original + +C<INIT> ¤È¥×¥í¥°¥é¥à¼«¿È¤Ï¡¢ +exit(0) ¤¬ C<BEGIN>, C<UNITCHECK>, C<CHECK> ¥Ö¥í¥Ã¥¯¤ÎÃæ¤Ç¸Æ¤Ð¤ì¤ë¤È¡¢ +¤â¤Ï¤ä¼Â¹Ô¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ +[L<perl #2754|https://rt.perl.org/Ticket/Display.html?id=2754>] + +=item * + +=begin original + +C<< open my $fh, ">>+", undef >> now opens the temporary file in append mode: +writes will seek to the end of file before writing. +[L<perl #134221|https://rt.perl.org/Ticket/Display.html?id=134221>] + +=end original + +C<< open my $fh, ">>+", undef >> ¤ÏÄɵ¥â¡¼¥É¤Ç°ì»þ¥Õ¥¡¥¤¥ë¤ò³«¤¯¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿: +½ñ¤¹þ¤à¤È½ñ¤¹þ¤ß¤ÎÁ°¤Ë¥Õ¥¡¥¤¥ë¤ÎËöÈø¤Ë¥·¡¼¥¯¤·¤Þ¤¹¡£ +[L<perl #134221|https://rt.perl.org/Ticket/Display.html?id=134221>] + +=item * + +=begin original + +Fixed a SEGV when searching for the source of an uninitialized value warning on +an op whose subtree includes an OP_MULTIDEREF. +[L<perl #134275|https://rt.perl.org/Ticket/Display.html?id=134275>] + +=end original + +Éû¥Ä¥ê¡¼¤Ë OP_MULTIDEREF ¤ò´Þ¤à op ¤Ë´Ø¤¹¤ë̤ÄêµÁÃÍ·Ù¹ð¤ò¸¡º÷¤¹¤ë¤È¤¤Î +SEGV ¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ +[L<perl #134275|https://rt.perl.org/Ticket/Display.html?id=134275>] + +=back + +=head1 Obituary + +=begin original + +Jeff Goff (JGOFF or DrForr), an integral part of the Perl and Raku +communities and a dear friend to all of us, has passed away on March +13th, 2020. DrForr was a prominent member of the communities, attending +and speaking at countless events, contributing to numerous projects, +and assisting and helping in any way he could. + +=end original + +Perl ¤È Raku ¤Î¥³¥ß¥å¥Ë¥Æ¥£¤ÎÉԲķç¤ÊÉôʬ¤Ç¤¢¤ê¡¢»ä¤¿¤ÁÁ´¤Æ¤Î +¿Æͧ¤Ç¤¢¤Ã¤¿ Jeff Goff (JGOFF ¤¢¤ë¤¤¤Ï DrForr) ¤Ï¡¢ +2020 ǯ 3 ·î 13 Æü¤ËË´¤¯¤Ê¤ê¤Þ¤·¤¿¡£ +DrForr ¤Ï¥³¥ß¥å¥Ë¥Æ¥£¤ÎÆͽФ·¤¿¥á¥ó¥Ð¡¼¤Ç¤¢¤ê¡¢ +¿ô¤¨ÀÚ¤ì¤Ê¤¤¤Û¤É¤Î¥¤¥Ù¥ó¥È¤Ç»²²Ã¤äÅÐÃŤò¹Ô¤¤¡¢ +¿ô¿¤¯¤Î¥×¥í¥¸¥§¥¯¥È¹×¸¥¤·¡¢ +Èà¤Î¤Ç¤¤ë¤¢¤é¤æ¤ëÊýË¡¤Ç»Ù±ç¤ä½õÎϤò¤·¤Æ¤¤¤Þ¤·¤¿¡£ + +=begin original + +His passing leaves a hole in our hearts and in our communities and he +will be sorely missed. + +=end original + +Èà¤Î»à¤Ë¤è¤Ã¤Æ»ä¤¿¤Á¤Î¿´¤È¥³¥ß¥å¥Ë¥Æ¥£¤Ë¤Ï·ê¤¬¶õ¤¤¤¿¤è¤¦¤Ç¡¢ +¤È¤Æ¤â»ÄÇ°¤Ç¤¹¡£ + +=head1 Acknowledgements + +=begin original + +Perl 5.32.0 represents approximately 13 months of development since Perl +5.30.0 and contains approximately 220,000 lines of changes across 1,800 +files from 89 authors. + +=end original + +Perl 5.32.0 ¤Ï¡¢Perl 5.30.0 °Ê¹ß¡¢89 ¿Í¤Îºî¼Ô¤Ë¤è¤Ã¤Æ¡¢ +1,800 ¤Î¥Õ¥¡¥¤¥ë¤ËÌó 220,000 ¹Ô¤ÎÊѹ¹¤ò²Ã¤¨¤Æ¡¢ +Ìó 13 ¥ö·î³«È¯¤µ¤ì¤Æ¤¤Þ¤·¤¿¡£ + +=begin original + +Excluding auto-generated files, documentation and release tools, there were +approximately 140,000 lines of changes to 880 .pm, .t, .c and .h files. + +=end original + +¼«Æ°À¸À®¥Õ¥¡¥¤¥ë¡¢Ê¸½ñ¡¢¥ê¥ê¡¼¥¹¥Ä¡¼¥ë¤ò½ü¤¯¤È¡¢880 ¤Î .pm, .t, .c, +.h ¥Õ¥¡¥¤¥ë¤ËÌó 140,000 ¹Ô¤ÎÊѹ¹¤ò²Ã¤¨¤Þ¤·¤¿¡£ + +=begin original + +Perl continues to flourish into its fourth decade thanks to a vibrant +community of users and developers. The following people are known to have +contributed the improvements that became Perl 5.32.0: + +=end original + +Perl ¤Ï¡¢³èµ¤¤Î¤¢¤ë¥æ¡¼¥¶¡¼¤È³«È¯¼Ô¤Î¥³¥ß¥å¥Ë¥Æ¥£¤Î¤ª¤«¤²¤Ç 30 ǯ¤òĶ¤¨¤Æ +È˱ɤ·¤Æ¤¤¤Þ¤¹¡£ +°Ê²¼¤Î¿Í¡¹¤¬¡¢Perl 5.32.0 ¤Ë¤Ê¤ë¤¿¤á¤Î²þÎɤ˹׸¥¤·¤¿¤³¤È¤¬Ê¬¤«¤Ã¤Æ¤¤¤Þ¤¹: + +Aaron Crane, Alberto SimE<otilde>es, Alexandr Savca, Andreas KE<ouml>nig, Andrew Fresh, +Andy Dougherty, Ask BjE<oslash>rn Hansen, Atsushi Sugawara, Bernhard M. Wiedemann, +brian d foy, Bryan Stenson, Chad Granum, Chase Whitener, Chris 'BinGOs' +Williams, Craig A. Berry, Dagfinn Ilmari MannsE<aring>ker, Dan Book, Daniel +Dragan, Dan Kogai, Dave Cross, Dave Rolsky, David Cantrell, David Mitchell, +Dominic Hargreaves, E. Choroba, Felipe Gasper, Florian Weimer, Graham Knop, +HE<aring>kon HE<aelig>gland, Hauke D, H.Merijn Brand, Hugo van der Sanden, Ichinose +Shogo, James E Keenan, Jason McIntosh, Jerome Duval, Johan Vromans, John +Lightsey, John Paul Adrian Glaubitz, Kang-min Liu, Karen Etheridge, Karl +Williamson, Leon Timmermans, Manuel Mausz, Marc Green, Matthew Horsfall, +Matt Turner, Max Maischein, Michael Haardt, Nicholas Clark, Nicolas R., Niko +Tyni, Pali, Paul Evans, Paul Johnson, Paul Marquess, Peter Eisentraut, Peter +John Acklam, Peter Oliver, Petr PE<iacute>saE<0x159>, Renee Baecker, Ricardo Signes, +Richard Leach, Russ Allbery, Samuel Smith, Santtu OjanperE<auml>, Sawyer X, +Sergey Aleynikov, Sergiy Borodych, Shirakata Kentaro, Shlomi Fish, Sisyphus, +Slaven Rezic, Smylers, Stefan Seifert, Steve Hay, Steve Peters, Svyatoslav, +Thibault Duponchelle, Todd Rinaldo, Tomasz Konojacki, Tom Hukins, Tony Cook, +Unicode Consortium, VanL, Vickenty Fesunov, Vitali Peil, Yves Orton, Zefram. + +=begin original + +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. + +=end original + +¤³¤ì¤Ï¥Ð¡¼¥¸¥ç¥ó¥³¥ó¥È¥í¡¼¥ëÍúÎò¤«¤é¼«Æ°Åª¤ËÀ¸À®¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¤Û¤Ü³Î¼Â¤Ë +ÉÔ´°Á´¤Ç¤¹¡£ +Æäˡ¢Perl ¥Ð¥°¥È¥é¥Ã¥«¡¼¤ËÌäÂê¤òÊó¹ð¤ò¤·¤Æ¤¯¤ì¤¿ (¤È¤Æ¤â¤¢¤ê¤¬¤¿¤¤)¹×¸¥¼Ô¤Î +̾Á°¤ò´Þ¤ó¤Ç¤¤¤Þ¤»¤ó¡£ + +=begin original + +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. + +=end original + +¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëÊѹ¹¤Î¿¤¯¤Ï¡¢Perl ¥³¥¢¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë CPAN +¥â¥¸¥å¡¼¥ëͳÍè¤Î¤â¤Î¤Ç¤¹¡£ +»ä¤¿¤Á¤Ï Perl ¤ÎȯŸ¤ò½õ¤±¤Æ¤¤¤ë CPAN ¥³¥ß¥å¥Ë¥Æ¥£Á´ÂΤ˴¶¼Õ¤·¤Þ¤¹¡£ + +=begin original + +For a more complete list of all of Perl's historical contributors, please +see the F<AUTHORS> file in the Perl source distribution. + +=end original + +Á´¤Æ¤Î Perl ¤ÎÎò»ËŪ¤Ê¹×¸¥¼Ô¤Î¤è¤ê´°Á´¤Ê°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤É¤¦¤« Perl ¥½¡¼¥¹ +ÇÛÉۤ˴ޤޤì¤Æ¤¤¤ë F<AUTHORS> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ + +=head1 Reporting Bugs + +(¥Ð¥°Êó¹ð) + +=begin original + +If you find what you think is a bug, you might check the perl bug database +at L<https://github.com/Perl/perl5/issues>. There may also be information at +L<http://www.perl.org/>, the Perl Home Page. + +=end original + +¤â¤·¥Ð¥°¤È»×¤ï¤ì¤ë¤â¤Î¤ò¸«¤Ä¤±¤¿¤é¡¢ +L<https://github.com/Perl/perl5/issues> ¤Ë¤¢¤ë perl ¥Ð¥°¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò +³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ +Perl ¥Û¡¼¥à¥Ú¡¼¥¸¡¢L<http://www.perl.org/> ¤Ë¤â¾ðÊ󤬤¢¤ê¤Þ¤¹¡£ + +=begin original + +If you believe you have an unreported bug, please open an issue at +L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a +tiny but sufficient test case. + +=end original + +¤â¤·¤Þ¤ÀÊó¹ð¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ð¥°¤À¤È³Î¿®¤·¤¿¤é¡¢ +L<https://github.com/Perl/perl5/issues> ¤Ë¥¤¥·¥å¡¼¤òÅÐÏ¿¤·¤Æ¤¯¤À¤µ¤¤¡£ +¥Ð¥°¤ÎºÆ¸½¥¹¥¯¥ê¥×¥È¤ò½½Ê¬¾®¤µ¤¯¡¢¤·¤«¤·Í¸ú¤Ê¥³¡¼¥É¤ËÀÚ¤ê¤Ä¤á¤ë¤³¤È¤ò +°Õ¼±¤·¤Æ¤¯¤À¤µ¤¤¡£ + +=begin original + +If the bug you are reporting has security implications which make it +inappropriate to send to a public issue tracker, then see +L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> +for details of how to report the issue. + +=end original + +Êó¹ð¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¥Ð¥°¤¬¥»¥¥å¥ê¥Æ¥£¤Ë´Ø¤¹¤ë¤â¤Î¤Ç¡¢¸ø³«¤µ¤ì¤Æ¤¤¤ë +¥¤¥·¥å¡¼¥È¥é¥Ã¥«¡¼¤ËÁ÷¤ë¤Î¤¬ÉÔŬÀڤʤâ¤Î¤Ê¤é¡¢¥Ð¥°¤ÎÊó¹ðÊýË¡¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ +L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ + +=head1 Give Thanks + +(´¶¼Õ¤òÅÁ¤¨¤ë) + +=begin original + +If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, +you can do so by running the C<perlthanks> program: + +=end original + +¤â¤· Perl 5 ¤Ç¤Ê¤µ¤ì¤¿ºî¶È¤Ë¤Ä¤¤¤Æ Perl 5 Porters ¤Ë´¶¼Õ¤·¤¿¤¤¤È¹Í¤¨¤¿¤Ê¤é¡¢ +C<perlthanks> ¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¤½¤¦¤Ç¤¤Þ¤¹: + + perlthanks + +=begin original + +This will send an email to the Perl 5 Porters list with your show of thanks. + +=end original + +¤³¤ì¤Ï Perl 5 Porters ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë¤¢¤Ê¤¿¤Î´¶¼Õ¤Î¸ÀÍÕ¤ò¥á¡¼¥ë¤·¤Þ¤¹¡£ + +=head1 SEE ALSO + +=begin original + +The F<Changes> file for an explanation of how to view exhaustive details on +what changed. + +=end original + +Êѹ¹ÅÀ¤Î´°Á´¤Ê¾ÜºÙ¤ò¸«¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï F<Changes> ¥Õ¥¡¥¤¥ë¡£ + +=begin original + +The F<INSTALL> file for how to build Perl. + +=end original + +Perl ¤Î¥Ó¥ë¥ÉÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï F<INSTALL> ¥Õ¥¡¥¤¥ë¡£ + +=begin original + +The F<README> file for general stuff. + +=end original + +°ìÈÌŪ¤Ê¤³¤È¤Ë¤Ä¤¤¤Æ¤Ï F<README> ¥Õ¥¡¥¤¥ë¡£ + +=begin original + +The F<Artistic> and F<Copying> files for copyright information. + +=end original + +Ãøºî¸¢¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï F<Artistic> µÚ¤Ó F<Copying> ¥Õ¥¡¥¤¥ë¡£ + +=cut + +=begin meta + +Translate: SHIRAKATA Kentaro <argra****@ub32*****> +Status: completed + +=end meta +