使用binmode后文件上传还是变形? 高手指点.

使用binmode后文件上传还是变形? 高手指点.

使用binmode后文件上传还是变形? 高手指点.
环境:liunx ,用PERL写的上传文件cgi代码如下:
my ($tmpfilename) = $upfile =~ m|([^/:\\]+)$|;
my ($buffer);
open (FILE,">$basedir/$tmpfilename");
binmode(FILE);
while (read($upfile,my $buffer,2048)) {
print FILE $buffer;
}
close (FILE);

问题是: 可以上传文件,超过10K的上传不了,更严重的问题是文件没法用,原文件5K上传后变成8K. 已经启用了binmode(FILE);二进制传输,怎么还会出错? 高手指点一下,谢谢~
binmode $upfile;.
binmode $upfile;