In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/c052850d052a66f241dc56d8855511366ed1a53e?hp=f89927845af485c1da006d15e715fedc4502187c>
- Log ----------------------------------------------------------------- commit c052850d052a66f241dc56d8855511366ed1a53e Author: Karl Williamson <pub...@khwilliamson.com> Date: Mon Apr 18 22:41:40 2011 -0600 perllocale: Corrections This pod misled some people, including this author, as to the initial state of locales. This fleshes out some details, and changes some wording. M pod/perllocale.pod commit 9814da73267da9acf65c9e78d0336423cafb693e Author: Karl Williamson <pub...@khwilliamson.com> Date: Mon Apr 18 22:26:32 2011 -0600 perlrecharclass: Nits M pod/perlrecharclass.pod ----------------------------------------------------------------------- Summary of changes: pod/perllocale.pod | 24 ++++++++++++++++++------ pod/perlrecharclass.pod | 5 +++-- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/pod/perllocale.pod b/pod/perllocale.pod index 462194b..ceb7137 100644 --- a/pod/perllocale.pod +++ b/pod/perllocale.pod @@ -72,13 +72,13 @@ appropriate, and B<at least one> of the following must be true: =over 4 -=item * +=item 1 B<The locale-determining environment variables (see L<"ENVIRONMENT">) must be correctly set up> at the time the application is started, either -by yourself or by whoever set up your system account. +by yourself or by whoever set up your system account; or -=item * +=item 2 B<The application must set its own locale> using the method described in L<The setlocale function>. @@ -90,7 +90,17 @@ L<The setlocale function>. =head2 The use locale pragma By default, Perl ignores the current locale. The S<C<use locale>> -pragma tells Perl to use the current locale for some operations: +pragma tells Perl to use the current locale for some operations. + +The current locale is set at execution time by +L<setlocale()|/The setlocale function> described below. If that function +hasn't yet been called in the course of the program's execution, the +current locale is that which was determined by the L<"ENVIRONMENT"> in +effect at the start of the program, except that +C<L<LC_NUMERIC|/Category LC_NUMERIC: Numeric Formatting>> is always +initialized to the C locale (mentioned under L<Finding locales>). + +The operations that are affected by locale are: =over 4 @@ -178,7 +188,7 @@ subsequent call to setlocale(). If no second argument is provided and the category is LC_ALL, the result is implementation-dependent. It may be a string of -concatenated locales names (separator also implementation-dependent) +concatenated locale names (separator also implementation-dependent) or a single locale name. Please consult your setlocale(3) man page for details. @@ -249,6 +259,8 @@ the POSIX standard. They define the B<default locale> in which every program starts in the absence of locale information in its environment. (The I<default> default locale, if you will.) Its language is (American) English and its character codeset ASCII. +B<Warning>. The C locale delivered by some vendors may not +actually exactly match what the C standard calls for. So beware. B<NOTE>: Not all systems have the "POSIX" locale (not all systems are POSIX-conformant), so use "C" when you need explicitly to specify this @@ -1085,4 +1097,4 @@ L<POSIX/strtod>, L<POSIX/strxfrm>. Jarkko Hietaniemi's original F<perli18n.pod> heavily hacked by Dominic Dunlop, assisted by the perl5-porters. Prose worked over a bit by -Tom Christiansen. +Tom Christiansen, and updated by Perl 5 porters. diff --git a/pod/perlrecharclass.pod b/pod/perlrecharclass.pod index d26b035..4c91931 100644 --- a/pod/perlrecharclass.pod +++ b/pod/perlrecharclass.pod @@ -634,7 +634,7 @@ and any C<\p> property name can be prefixed with "Is" such as C<\p{IsAlpha}>.) Both the C<\p> counterparts always assume Unicode rules are in effect. On ASCII platforms, this means they assume that the code points from 128 to 255 are Latin-1, and that means that using them under locale rules is -unwise unless the locale is guaranteed to be Latin-1. In contrast, the +unwise unless the locale is guaranteed to be Latin-1 or UTF-8. In contrast, the POSIX character classes are useful under locale rules. They are affected by the actual rules in effect, as follows: @@ -675,7 +675,8 @@ The POSIX class matches the same as the ASCII range counterpart. =back -Which rules apply are determined as described in L<perlre/Which character set modifier is in effect?>. +Which rules apply are determined as described in +L<perlre/Which character set modifier is in effect?>. It is proposed to change this behavior in a future release of Perl so that whether or not Unicode rules are in effect would not change the -- Perl5 Master Repository