in reply to UTF-8 for Everything
I was using use encoding qw( UTF-8 ); but in Perl 5.18 it's deprecated.
As vsespb said, do this instead:
use utf8;
This pragma allows you to use non-ASCII characters inside your Perl script—that is, characters outside the Basic Latin block of Unicode.
I'm using this as a stop-gap:
use open qw( :encoding(utf8) ); binmode STDIN, qw{ :encoding(UTF-8) }; binmode STDOUT, qw{ :encoding(UTF-8) }; binmode STDERR, qw{ :encoding(UTF-8) };
As duelafn said, do this instead:
use open qw( :encoding(UTF-8) :std );
Carefully read Tom Christiansen's (tchrist) brilliant and exhaustive Stack Overflow post Go Thou and Do Likewise. Pay particular attention to the first section titled Simplest Rx: 7 Discrete Recommendations. These seven recommendations are essentially the answer to your question, "What is the best way to get Perl to use UTF-8 for everything?" Then read jrockway's excellent followup post.
Tom's Stack Overflow post evolved into a presentation that he gave at OSCON 2011. The slides are here.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: UTF-8 for Everything
by sundialsvc4 (Abbot) on Jul 07, 2013 at 14:54 UTC |
In Section
Seekers of Perl Wisdom