我有一个使用PC UTF-8编码的文件,想要将其转换为PC ANSI格式。
我尝试了下面的方法,但输出文件总是PC UTF-8格式。
use Encode;
$infile = $ARGV[0];
open(INFILE, $infile);
my $outfile = "temp.txt";
open(OUTFILE, ">$outfile");
while(<INFILE>) {
my $row = $_;
chomp $row;
$row = Encode::encode("Windows-1252", $row);
print OUTFILE $row."\n";
}
close INFILE;
close OUTFILE;
chomp
函数去除换行符再添加\n
稍显浪费。 - Keith Thompsonopen
的三参数版本更受推荐。http://modernperlbooks.com/mt/2010/04/three-arg-open-migrating-to-modern-perl.html - Keith Thompson