argra****@users*****
argra****@users*****
2012年 4月 22日 (日) 04:36:42 JST
Index: docs/perl/5.16.0/perl5160delta.pod diff -u docs/perl/5.16.0/perl5160delta.pod:1.3 docs/perl/5.16.0/perl5160delta.pod:1.4 --- docs/perl/5.16.0/perl5160delta.pod:1.3 Sun Apr 22 01:11:47 2012 +++ docs/perl/5.16.0/perl5160delta.pod Sun Apr 22 04:36:42 2012 @@ -1465,9 +1465,9 @@ =end original -For more information about this future deprecation, see L<the relevant RT -ticket|https://rt.perl.org/rt3/Ticket/Display.html?id=96212>. -(TBT) +ãã®å°æ¥ã®éæ¨å¥¨ã«é¢ãããããªãæ å ±ã«ã¤ãã¦ã¯ã +L<é¢é£ãã RT ãã±ãã|https://rt.perl.org/rt3/Ticket/Display.html?id=96212> ã +åç §ãã¦ãã ããã =item * @@ -1483,8 +1483,6 @@ æ£è¦è¡¨ç¾ä¸ã®ã¨ã¹ã±ã¼ãããã¦ããªããªãã©ã«ã® C<< "{" >>ã -=item Literal C<"{"> characters in regular expression patterns - =begin original It is planned starting in v5.20 to require a literal C<"{"> to be @@ -1818,46 +1816,121 @@ =head2 C<$$> and C<getppid()> no longer emulate POSIX semantics under LinuxThreads +(C<$$> 㨠C<getppid()> 㯠LinuxThreads ã®ãã¨ã§ POSIX ã®æå³è«ãã¨ãã¥ã¬ã¼ããã¾ãã) + +=begin original + The POSIX emulation of C<$$> and C<getppid()> under the obsolete LinuxThreads implementation has been removed. This only impacts users of Linux 2.4 and users of Debian GNU/kFreeBSD up to and including 6.0, not the vast majority of Linux installations that use NPTL threads. +=end original + +å¤ã LinuxThreads å®è£ ã®ãã¨ã§ã® C<$$> 㨠C<getppid()> ã® POSIX +ã¨ãã¥ã¬ã¼ã·ã§ã³ã¯åé¤ããã¾ããã +ãã㯠Linux 2.4 ã®ã¦ã¼ã¶ã¼ã¨ãã¼ã¸ã§ã³ 6.0 ã¾ã§ã® Debian GNU/kFreeBSD ã® +ã¦ã¼ã¶ã¼ã«ã®ã¿å½±é¿ããããNPTL ã¹ã¬ããã使ã£ã¦ããå§åçå¤æ°ã® +Linux ã¤ã³ã¹ãã¼ã«ã«ã¯å½±é¿ã¯ããã¾ããã + +=begin original + This means that C<getppid()>, like C<$$>, is now always guaranteed to return the OS's idea of the current state of the process, not perl's cached version of it. +=end original + +ããã¯ãC<getppid()> 㯠C<$$> ã¨åæ§ã«ãperl ããã£ãã·ã¥ãããã®ã§ã¯ãªã +OS ãèãã¦ããããã»ã¹ã®ç¾å¨ã®ç¶æ ã常ã«è¿ãã¨è¨ããã¨ãæå³ã¾ãã¾ãã + +=begin original + See the documentation for L<$$|perlvar/$$> for details. +=end original + +詳ãã㯠L<$$|perlvar/$$> ã®ææ¸ãåç §ãã¦ãã ããã + =head2 C<< $< >>, C<< $> >>, C<$(> and C<$)> are no longer cached +(C<< $< >>, C<< $> >>, C<$(>, C<$)> ã¯ãã£ãã·ã¥ããã¾ãã) + +=begin original + Similarly to the changes to C<$$> and C<getppid()>, the internal caching of C<< $< >>, C<< $> >>, C<$(> and C<$)> has been removed. +=end original + +C<$$> ããã³ C<getppid()> ã®å¤æ´ã¨åæ§ã« C<< $< >>, C<< $> >>, C<$(>, +C<$)> ã®å é¨ãã£ãã·ã¥ãåé¤ããã¾ããã + +=begin original + +When we cached these values our idea of what they were would drift out +of sync with reality if someone (e.g., someone embedding perl) called +C<sete?[ug]id()> without updating C<PL_e?[ug]id>. Having to deal with +this complexity wasn't worth it given how cheap the C<gete?[ug]id()> +system call is. + +=end original + When we cached these values our idea of what they were would drift out of sync with reality if someone (e.g., someone embedding perl) called C<sete?[ug]id()> without updating C<PL_e?[ug]id>. Having to deal with this complexity wasn't worth it given how cheap the C<gete?[ug]id()> system call is. +(TBT) + +=begin original This change will break a handful of CPAN modules that use the XS-level C<PL_uid>, C<PL_gid>, C<PL_euid> or C<PL_egid> variables. +=end original + +ãã®å¤æ´ã«ãã XS ã¬ãã«ã® C<PL_uid>, C<PL_gid>, C<PL_euid>, +C<PL_egid> å¤æ°ã使ã£ã¦ããä¸æ¡ãã® CPAN ã¢ã¸ã¥ã¼ã«ãåããªããªãã¾ãã + +=begin original + The fix for those breakages is to use C<PerlProc_gete?[ug]id()> to retrieve them (e.g. C<PerlProc_getuid()>), and not to assign to C<PL_e?[ug]id> if you change the UID/GID/EUID/EGID. There is no longer any need to do so since perl will always retrieve the up-to-date version of those values from the OS. +=end original + +ãããä¿®æ£ããã«ã¯ãå¤ãå¾ãã®ã« (C<PerlProc_getuid()> ã®ãããª) +C<PerlProc_gete?[ug]id()> ã使ã£ã¦ããã UID/GID/EUID/EGID ãå¤æ´ãããªã +C<PL_e?[ug]id> ã«ä»£å ¥ããªããã¨ã§ãã +perl ã¯ãããã®å¤ã常㫠OS ããææ°ã®å¤ãåãããã«ãªã£ãã®ã§ã +ãã®ããã«ããå¿ è¦æ§ã¯ãªããªã£ã¦ãã¾ãã + =head2 Which Non-ASCII characters get quoted by C<quotemeta> and C<\Q> has changed +(C<quotemeta> 㨠C<\Q> ã§ã¯ã©ã¼ããããé ASCII æåãå¤æ´ããã¾ãã) + +=begin original + This is unlikely to result in a real problem, as Perl does not attach special meaning to any non-ASCII character, so it is currently irrelevant which are quoted or not. This change fixes bug [perl #77654] and bring Perl's behavior more into line with Unicode's recommendations. See L<perlfunc/quotemeta>. +=end original + +Perl ã¯é ASCII æåã«ç¹å¥ãªæå³ãå²ãæ¯ã£ã¦ããªãããã«ããããå®éã® +åé¡ã«ãªãã¨ã¯èãã«ããã®ã§ãä»ã®ã¨ããã¯ã©ã¼ãããã¦ãããã©ãã㯠+ç¡é¢ä¿ã§ãã +ãã®å¤æ´ã¯ [perl #77654] ã®ãã°ãä¿®æ£ãã¦ãPerl ã®æ¯ãèãã Unicode ã® +è¦æ±ã«ããè¿ããã®ã«ãã¾ãã +L<perlfunc/quotemeta> ãåç §ãã¦ãã ããã + =head1 Performance Enhancements =over @@ -4164,8 +4237,6 @@ =item * -No warning for C<open(foo::bar)> - When one writes C<open foo || die>, which used to work in Perl 4, a "Precedence problem" warning is produced. This warning used erroneously to apply to fully-qualified bareword handle names not followed by C<||>. This @@ -4173,8 +4244,6 @@ =item * -C<select> and package aliasing - After package aliasing (C<*foo:: = *bar::>), C<select> with 0 or 1 argument would sometimes return a name that could not be used to refer to the filehandle, or sometimes it would return C<undef> even when a filehandle @@ -4182,8 +4251,6 @@ =item * -C<PerlIO::get_layers> and numbers - C<PerlIO::get_layers> no longer ignores some arguments that it thinks are numeric, while treating others as filehandle names. It is now consistent for flat scalars (i.e., not references). @@ -4202,17 +4269,13 @@ =item * -C<system> and SIGCHLD - C<system> now temporarily blocks the SIGCHLD signal handler, to prevent the signal handler from stealing the exit status [perl #105700]. =item * -C<(s)printf>'s %n formatting code - -The %n formatting code, which causes the number of characters to be -assigned to the next argument to C<printf> or C<sprintf> now actually +The %n formatting code for C<printf> and C<sprintf, which causes the number +of characters to be assigned to the next argument, now actually assigns the number of characters, instead of the number of bytes. It also works now with special lvalue functions like C<substr> and with @@ -4220,8 +4283,6 @@ =item * -C<local $_> - In Perl 5.14, C<local $_> was changed to create a new variable not tied to anything, even if $_ was tied before that. But, due to an oversight, it would still call FETCH once on a tied $_ before replacing it with the new @@ -4250,16 +4311,12 @@ =item * -C<@&> and C<$&> - Mentioning a variable named "&" other than C<$&> (i.e., C<@&> or C<%&>) no longer stops C<$&> from working. The same applies to variables named "'" and "`" [perl #24237]. =item * -Return value of C<eval> - C<eval> returns C<undef> in scalar context or an empty list in list context when there is a run-time error. When C<eval> was passed a string in list context and a syntax error occurred, it used to return a