use Encode qw(from_to); my $str = do { local(*ARGV); @ARGV=$File; <> }; open my $out, '>', 'X:\TestData.txt.UTF-8' or die $!; print $out from_to($str, $x, 'UTF-8'); close $out or die $!;