【发布时间】:2013-05-06 19:30:39
【问题描述】:
我正在尝试检测上传的文件是否为有效的 UTF-8,然后才对其内容进行一些操作。它可以检测到非 UTF-8 文件,但如果文件是有效的 UTF-8,则没有要处理的内容。 while(){} 循环中没有要处理的数据。我的错误在哪里?
use utf8;
use CGI qw(:all -utf8);
use Encode;
my $q = new CGI;
my $file = $q->param('importfile');
my $file_handle = $q->upload('importfile');
my $fhtest = do {
local $/;
<$file_handle>;
};
my $utf8;
eval { $utf8 = decode( "utf8", $fhtest, Encode::FB_CROAK ) };
if ($@) {
die 'Not a valid UTF-8 file';
}
binmode $file_handle, ':encoding(UTF-8)';
while (<$file_handle>) {
chomp();
# my code here
}
【问题讨论】:
标签: perl upload filehandle