utf8 - Perl pragma to enable/disable UTF-8 in source code
SYNOPSIS
use utf8;
no utf8;
DESCRIPTION
WARNING: The implementation of Unicode support in Perl is
incomplete. See the perlunicode manpage for the exact
details.
The `use utf8' pragma tells the Perl parser to allow UTF-8
in the program text in the current lexical scope. The `no
utf8' pragma tells Perl to switch back to treating the
source text as literal bytes in the current lexical scope.
This pragma is primarily a compatibility device. Perl
versions earlier than 5.6 allowed arbitrary bytes in
source code, whereas in future we would like to standard
ize on the UTF-8 encoding for source text. Until UTF-8
becomes the default format for source text, this pragma
should be used to recognize UTF-8 in the source. When
UTF-8 becomes the standard source format, this pragma will
effectively become a no-op.
Enabling the `utf8' pragma has the following effects:
· Bytes in the source text that have their high-bit set
will be treated as being part of a literal UTF-8 char
acter. This includes most literals such as identi
fiers, string constants, constant regular expression
patterns and package names.
· In the absence of inputs marked as UTF-8, regular
expressions within the scope of this pragma will
default to using character semantics instead of byte
semantics.
@bytes_or_chars = split //, $data; # may split to bytes if data
# $data isn't UTF-8
{
use utf8; # force char semantics
@chars = split //, $data; # splits characters
}
SEE ALSO
the perlunicode manpage, the bytes manpage
Man(1) output converted with
man2html