Beware of wide characters
Before diving into examples we need to take precaution against a very common problem when dealing with Unicode in Perl. When you will start trying to output some non-ASCII characters, chances are you will run into following warning message:
Wide character in say in ./my_script.pl line 3
Well, what's that? What is wide character? How did it sneak into my coding chef d'œuvre?!
This warning usually happens when you output a Unicode string to a non-unicode filehandle, i.e. a filehandle with no unicode-compatible IO layer on it. IO layers is kinda close topic but we won't go into it right now, instead we'll show you possible solution to avoid this warning:
binmode FILEHANDLE, ":encoding(UTF-8)";
This command should be put before your printing statement and it will specify the encoding layer for desired
FILEHANDLE. So, to be able to print to console
FILEHANDLE should be
STDOUT, which is the filehandle used by Perl's
say functions by default.