use strict; use warnings; my $x = "\x{42f}"."\n"; warn "printing to /tmp/foo\n"; open(my $fh, ">:utf8", "/tmp/foo") or die "open: $!"; print {$fh} $x; warn "printing to STDOUT\n"; print $x; warn "printing to duped STDOUT\n"; open(my $gh, ">&:utf8", \*STDOUT) or die "open: $!"; print {$gh} $x;