perl -pe"BEGIN { binmode STDIN, ':encoding(UTF-16le)'; binmode STDOUT, ':encoding(cp1252)'; }" < file.wide > file.ansi #### # wide_to_ansi.pl file.wide file.ansi @ARGV == 2 or die("Incorrect usage\n"); open(my $fh_in, '<:raw:perlio:encoding(UTF-16le):crlf', $ARGV[0]) or die("Cannot open input file \"$ARGV[0]\": $!\n"); open(my $fh_out, '>:raw:perlio:encoding(cp1252):crlf', $ARGV[1]) or die("Cannot create output file \"$ARGV[1]\": $!\n"); print($fh_out $_) while <$fh_in>;