Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

utf8::all(3pm) [debian man page]

utf8::all(3pm)						User Contributed Perl Documentation					    utf8::all(3pm)

NAME
utf8::all - turn on Unicode - all of it VERSION
version 0.004 SYNOPSIS
use utf8::all; # Turn on UTF-8. All of it. open my $in, '<', 'contains-utf8'; # UTF-8 already turned on here print length 'foo bXr'; # 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 = 'foo bXr'; print length $utf8_str, " "; # 7 print $out $utf8_str; # out as utf8 } open my $in, '<', 'outfile'; # in as raw my $text = do { local $/; <$in>}; print length $text, " "; # 10, not 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/> to find a CPAN site near you, or see http://search.cpan.org/dist/utf8-all/ <http://search.cpan.org/dist/utf8-all/>. The development version lives 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>. Instead of sending patches, please fork this project using the standard git and github infrastructure. 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
No bugs have been reported. Please report any bugs or feature requests through the web interface at https://github.com/doherty/utf8-all/issues <https://github.com/doherty/utf8-all/issues>. AUTHORS
o Michael Schwern <mschwern@cpan.org> o 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. perl v5.14.2 2012-01-10 utf8::all(3pm)

Check Out this Related Man Page

Perl::Critic::Policy::InputOutput::RequireEncodingWithUTUseryContributed Perl DoPerl::Critic::Policy::InputOutput::RequireEncodingWithUTF8Layer(3)

NAME
Perl::Critic::Policy::InputOutput::RequireEncodingWithUTF8Layer - Write "open $fh, q{<:encoding(UTF-8)}, $filename;" instead of "open $fh, q{{<:utf8}, $filename;". AFFILIATION
This Policy is part of the core Perl::Critic distribution. DESCRIPTION
Use of the ":utf8" I/O layer (as opposed to ":encoding(UTF8)" or ":encoding(UTF-8)") was suggested in the Perl documentation up to version 5.8.8. This may be OK for output, but on input ":utf8" does not validate the input, leading to unexpected results. An exploit based on this behavior of ":utf8" is exhibited on PerlMonks at <http://www.perlmonks.org/?node_id=644786>. The exploit involves a string read from an external file and sanitized with "m/^(w+)$/", where $1 nonetheless ends up containing shell meta-characters. To summarize: open $fh, '<:utf8', 'foo.txt'; # BAD open $fh, '<:encoding(UTF8)', 'foo.txt'; # GOOD open $fh, '<:encoding(UTF-8)', 'foo.txt'; # BETTER See the Encode documentation for the difference between "UTF8" and "UTF-8". The short version is that "UTF-8" implements the Unicode standard, and "UTF8" is liberalized. For consistency's sake, this policy checks files opened for output as well as input, For complete coverage it also checks "binmode()" calls, where the direction the operation can not be determined. CONFIGURATION
This Policy is not configurable except for the standard options. NOTES
Because "Perl::Critic" does a static analysis, this policy can not detect cases like my $encoding = ':utf8'; binmode $fh, $encoding; where the encoding is computed. SEE ALSO
PerlIO Encode "perldoc -f binmode" <http://www.socialtext.net/perl5/index.cgi?the_utf8_perlio_layer> <http://www.perlmonks.org/?node_id=644786> AUTHOR
Thomas R. Wyant, III wyant at cpan dot org COPYRIGHT
Copyright (c) 2010-2011 Thomas R. Wyant, III This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.16.3 2014-06-09 Perl::Critic::Policy::InputOutput::RequireEncodingWithUTF8Layer(3)
Man Page