X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperllocale.pod;h=d37664c5ab3c87389bdce2120e0a352c137bd9cf;hb=a0acbdc36d211b2eba42328df555d9ec49fa4cd4;hp=79d7afe1f09c7f6a27ed8c6cfbdb1c2ce297dd6b;hpb=35316ca3836a723c9fc06f19ddf7dd57bb1907e7;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perllocale.pod b/pod/perllocale.pod index 79d7afe..d37664c 100644 --- a/pod/perllocale.pod +++ b/pod/perllocale.pod @@ -554,11 +554,11 @@ change the character used for the decimal point--perhaps from '.' to ','. These functions aren't aware of such niceties as thousands separation and so on. (See L if you care about these things.) -Output produced by print() is also affected by the -current locale: it depends on whether C or C is in -effect, and corresponds to what you'd get from printf() -in the "C" locale. The same is true for Perl's internal conversions -between numeric and string formats: +Output produced by print() is also affected by the current locale: it +depends on whether C or C is in effect, and +corresponds to what you'd get from printf() in the "C" locale. The +same is true for Perl's internal conversions between numeric and +string formats: use POSIX qw(strtod); use locale; @@ -643,15 +643,6 @@ case-mapping table is in effect. =item * -Some systems are broken in that they allow the "C" locale to be -overridden by users. If the decimal point character in the -C category of the "C" locale is surreptitiously changed -from a dot to a comma, C produces a -string result of "123,456". Many people would interpret this as -one hundred and twenty-three thousand, four hundred and fifty-six. - -=item * - A sneaky C locale could result in the names of students with "D" grades appearing ahead of those with "A"s. @@ -687,16 +678,22 @@ the locale: =over 4 -=item B (C, C, C, C and C): +=item * + +B (C, C, C, C and C): Scalar true/false (or less/equal/greater) result is never tainted. -=item B (with C<\l>, C<\L>, C<\u> or C<\U>) +=item * + +B (with C<\l>, C<\L>, C<\u> or C<\U>) Result string containing interpolated material is tainted if C is in effect. -=item B (C): +=item * + +B (C): Scalar true/false result never tainted. @@ -709,7 +706,9 @@ expression contains C<\w> (to match an alphanumeric character), C<\W> C is in effect and the regular expression contains C<\w>, C<\W>, C<\s>, or C<\S>. -=item B (C): +=item * + +B (C): Has the same behavior as the match operator. Also, the left operand of C<=~> becomes tainted when C in effect @@ -717,20 +716,30 @@ if modified as a result of a substitution based on a regular expression match involving C<\w>, C<\W>, C<\s>, or C<\S>; or of case-mapping with C<\l>, C<\L>,C<\u> or C<\U>. -=item B (printf() and write()): +=item * -Success/failure result is never tainted. +B (printf() and write()): -=item B (lc(), lcfirst(), uc(), ucfirst()): +Results are never tainted because otherwise even output from print, +for example C, should be tainted if C is in +effect. + +=item * + +B (lc(), lcfirst(), uc(), ucfirst()): Results are tainted if C is in effect. -=item B (localeconv(), strcoll(), +=item * + +B (localeconv(), strcoll(), strftime(), strxfrm()): Results are never tainted. -=item B (isalnum(), isalpha(), isdigit(), +=item * + +B (isalnum(), isalpha(), isdigit(), isgraph(), islower(), isprint(), ispunct(), isspace(), isupper(), isxdigit()):