Let's not promise too much: use utf8 only works on identifier
Jarkko Hietaniemi [Tue, 16 Apr 2002 12:34:36 +0000 (12:34 +0000)]
names, not package or subroutine names (admittedly limited [1], but
that's what the Camel says, and that's what we are going to stick
to for 5.8.0).  Also document that use vars does not do utf8.
[1] The obvious problem in both is that package and subroutine
names need to mappable to the filesystem.

p4raw-id: //depot/perl@15947

lib/utf8.pm
lib/vars.pm
pod/perluniintro.pod

index c748a49..e0c4ac1 100644 (file)
@@ -56,9 +56,9 @@ Enabling the C<utf8> pragma has the following effect:
 
 Bytes in the source text that have their high-bit set will be treated
 as being part of a literal UTF-8 character.  This includes most
-literals such as identifiers, string constants, constant regular
-expression patterns and package names.  On EBCDIC platforms characters
-in the Latin 1 character set are treated as being part of a literal
+literals such as identifier names, string constants, and constant
+regular expression patterns.  On EBCDIC platforms characters in
+the Latin 1 character set are treated as being part of a literal
 UTF-EBCDIC character.
 
 =back
index 233979d..020568e 100644 (file)
@@ -79,6 +79,8 @@ outside of the package), it can act as an acceptable substitute by
 pre-declaring global symbols, ensuring their availability to the
 later-loaded routines.
 
+The C<use vars> does not work for UTF-8 variable names.
+
 See L<perlmodlib/Pragmatic Modules>.
 
 =cut
index dd3064f..9235495 100644 (file)
@@ -128,10 +128,9 @@ This model was found to be wrong, or at least clumsy: the Unicodeness
 is now carried with the data, not attached to the operations.  (There
 is one remaining case where an explicit C<use utf8> is needed: if your
 Perl script itself is encoded in UTF-8, you can use UTF-8 in your
-variable and subroutine names, and in your string and regular
-expression literals, by saying C<use utf8>.  This is not the default
-because that would break existing scripts having legacy 8-bit data in
-them.)
+identifier names, and in your string and regular expression literals,
+by saying C<use utf8>.  This is not the default because that would
+break existing scripts having legacy 8-bit data in them.)
 
 =head2 Perl's Unicode Model