I thought I can print unicode to STDOUT. I will read more on that.
See perlunitut. Filehandles work with bytes, not characters.
If you pay closer attention you will see that I am using the validating capability of is_utf8 ($string, 'true_value').
It checks the INTERNAL BYTE BUFFER of the unicode string. It is an internal consistency check, and should only be used to verify Perl's internal functioning, not your own strings. Apparently the [INTERNAL] in the documentation is not clear enough, given the huge number of people who don't realise that it is an internal function. I'll see if I can get that changed.