#!/usr/local/bin/perl use utf8; use v5.16; use strict; use warnings; use warnings qw(FATAL utf8); use diagnostics; use open qw(:std :utf8); use charnames qw(:full :short); use File::Basename; my $application = basename $0; use Data::Dumper; $Data::Dumper::Indent = 1; use Try::Tiny; my $str = "Hello ȓ (r-caret)"; say Dumper(\$str); open(my $fh, '<', \$str); print while ($_ = $fh->getc()); close($fh); print "\n"; try { use IO::File; my $fh = IO::File->new(); $fh->open(\$str, '<'); print while ($_ = $fh->getc()); $fh->close(); print "\n"; } catch { say "\nOops: $_"; }; try { use IO::File; my $fh = IO::File->new(); $fh->open(\$str, '<:encoding(UTF-8)'); print while ($_ = $fh->getc()); $fh->close(); print "\n"; } catch { say "\nOops: $_"; };