Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

turn on Unicode - all of it

tag: v0.006

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 corpus
Octocat-spinner-32 lib
Octocat-spinner-32 t
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Build.PL
Octocat-spinner-32 Changes
Octocat-spinner-32 MANIFEST.SKIP
Octocat-spinner-32 Makefile.PL
Octocat-spinner-32 README
Octocat-spinner-32 README.mkdn
Octocat-spinner-32 dist.ini
README.mkdn

NAME

utf8::all - turn on Unicode - all of it

VERSION

version 0.006

SYNOPSIS

use utf8::all; # Turn on UTF-8. All of it.

open my $in, '<', 'contains-utf8';  # UTF-8 already turned on here
print length 'føø bār';             # 7 UTF-8 characters
my $utf8_arg = shift @ARGV;         # @ARGV is UTF-8 too!

DESCRIPTION

utf8 allows you to write your Perl encoded in UTF-8. That means UTF-8 strings, variable names, and regular expressions. utf8::all goes further, and makes @ARGV encoded in UTF-8, and filehandles are opened with UTF-8 encoding turned on by default (including STDIN, STDOUT, STDERR), and charnames are imported so \N{...} sequences can be used to compile Unicode characters based on names. If you don't want UTF-8 for a particular filehandle, you'll have to set binmode $filehandle.

The pragma is lexically-scoped, so you can do the following if you had some reason to:

{
    use utf8::all;
    open my $out, '>', 'outfile';
    my $utf8_str = 'føø bār';
    print length $utf8_str, "\n"; # 7
    print $out $utf8_str;         # out as utf8
}
open my $in, '<', 'outfile';      # in as raw
my $text = do { local $/; <$in>};
print length $text, "\n";         # 10, not 7!

INTERACTION WITH AUTODIE

If you use autodie, which is a great idea, you need to use at least version 2.12, released on June 26, 2012. Otherwise, autodie obliterates the IO layers set by the open pragma. See RT #54777 and GH #7.

AVAILABILITY

The project homepage is http://metacpan.org/release/utf8-all/.

The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit http://www.perl.com/CPAN/ to find a CPAN site near you, or see https://metacpan.org/module/utf8::all/.

SOURCE

The development version is on github at http://github.com/doherty/utf8-all and may be cloned from git://github.com/doherty/utf8-all.git

BUGS AND LIMITATIONS

You can make new bug reports, and view existing ones, through the web interface at https://github.com/doherty/utf8-all/issues.

AUTHORS

COPYRIGHT AND LICENSE

This software is copyright (c) 2009 by Michael Schwern mschwern@cpan.org.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

Something went wrong with that request. Please try again.