# NAME

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

# VERSION

version 0.005

# 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](http://search.cpan.org/perldoc?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](http://search.cpan.org/perldoc?autodie), which is a great idea, you need to use at least version
__2.12__, released on [June 26, 2012](https://metacpan.org/source/PJF/autodie-2.12/Changes\#L3).
Otherwise, autodie obliterates the IO layers set by the [open](http://search.cpan.org/perldoc?open) pragma. See
[RT \#54777](https://rt.cpan.org/Ticket/Display.html?id=54777) and
[GH \#7](https://github.com/doherty/utf8-all/issues/7).

# AVAILABILITY

The project homepage is [http://metacpan.org/release/utf8-all/](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/](http://www.perl.com/CPAN/) to find a CPAN
site near you, or see [https://metacpan.org/module/utf8::all/](https://metacpan.org/module/utf8::all/).

# SOURCE

The development version is on github at [http://github.com/doherty/utf8-all](http://github.com/doherty/utf8-all)
and may be cloned from [git://github.com/doherty/utf8-all.git](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](https://github.com/doherty/utf8-all/issues).

# AUTHORS

- Michael Schwern <mschwern@cpan.org>
- Mike Doherty <doherty@cpan.org>

# 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.
