X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperlfaq6.pod;h=c4512e695afb7159754713bcb9f2cc686a24fbe1;hb=5cb3728cfe288ad05e8d10c8176f72378da2238f;hp=7c9fa6a20265285b99aaf25de0f2ccedd254e3a4;hpb=d1be9408a3c14848d30728674452e191ba5fffaa;p=p5sagit%2Fp5-mst-13.2.git
diff --git a/pod/perlfaq6.pod b/pod/perlfaq6.pod
index 7c9fa6a..c4512e6 100644
--- a/pod/perlfaq6.pod
+++ b/pod/perlfaq6.pod
@@ -1,6 +1,6 @@
=head1 NAME
-perlfaq6 - Regexes ($Revision: 1.4 $, $Date: 2001/11/09 08:06:04 $)
+perlfaq6 - Regular Expressions ($Revision: 1.8 $, $Date: 2002/01/31 04:27:55 $)
=head1 DESCRIPTION
@@ -218,10 +218,10 @@ longer than the original, you can use this code, by Jeff Pinyan:
sub preserve_case {
my ($from, $to) = @_;
my ($lf, $lt) = map length, @_;
-
+
if ($lt < $lf) { $from = substr $from, 0, $lt }
else { $from .= substr $to, $lf }
-
+
return uc $to | ($from ^ uc $from);
}
@@ -279,7 +279,7 @@ consider an underscore a letter).
The Perl parser will expand $variable and @variable references in
regular expressions unless the delimiter is a single quote. Remember,
-too, that the right-hand side of an C substitution is considered
+too, that the right-hand side of a C substitution is considered
a double-quoted string (see L for more details). Remember
also that any regex special characters will be acted on unless you
precede the substitution with \Q. Here's an example:
@@ -641,11 +641,20 @@ programming language, you insensitive scoundrel!
=head2 How can I match strings with multibyte characters?
-This is hard, and there's no good way. Perl does not directly support
-wide characters. It pretends that a byte and a character are
-synonymous. The following set of approaches was offered by Jeffrey
-Friedl, whose article in issue #5 of The Perl Journal talks about this
-very matter.
+Starting from Perl 5.6 Perl has had some level of multibyte character
+support. Perl 5.8 or later is recommended. Supported multibyte
+character repertoires include Unicode, and legacy encodings
+through the Encode module. See L, L,
+and L.
+
+If you are stuck with older Perls, you can do Unicode with the
+C module, and character conversions using the
+C and C modules. If you are using
+Japanese encodings, you might try using the jperl 5.005_03.
+
+Finally, the following set of approaches was offered by Jeffrey
+Friedl, whose article in issue #5 of The Perl Journal talks about
+this very matter.
Let's suppose you have some weird Martian encoding where pairs of
ASCII uppercase letters encode single Martian letters (i.e. the two
@@ -719,7 +728,7 @@ in L.
=head1 AUTHOR AND COPYRIGHT
-Copyright (c) 1997-1999 Tom Christiansen and Nathan Torkington.
+Copyright (c) 1997-2002 Tom Christiansen and Nathan Torkington.
All rights reserved.
This documentation is free; you can redistribute it and/or modify it