我在 Perl 中创建了一个将文件上传到服务器的 CGI 脚本。该脚本完美运行:
my $upload_filehandle = $query->upload("config");
if (!$upload_filehandle)
{
die "Configuration file could not be loaded";
}
open ( UPLOADFILE, ">$upload_dir/$filename" ) or die "$!";
binmode UPLOADFILE;
while ( <$upload_filehandle> )
{
print UPLOADFILE;
}
close UPLOADFILE;
问题是我不想将文件存储到服务器上,而只想将其部分内容存储在 Perl 脚本中的一些变量中。我不知道该怎么做。我尝试了以下代码:
my @array;
my $upload_filehandle = $query->upload("config");
if (!$upload_filehandle)
{
die "Configuration file could not be loaded";
}
open ( UPLOADFILE, ">$upload_dir/$filename" ) or die "$!";
binmode UPLOADFILE;
while ( <$upload_filehandle> )
{
push @array, $_;
}
close UPLOADFILE;
我想将文件内容存储在一个数组中,但它给出了一个错误:
[Sat Aug 31 18:03:27 2013] [error] [client 127.0.0.1] malformed header from script. Bad header=\xff\xd8\xff\xe11\xdcExif: loadConfig.cgi, referer: http://localhost/cgi-bin/uploadFile.cgi
我认为它是在线的
push @array, $_;
,这可能是因为文件的标题无法识别。
您对如何在不保存文件的情况下存储文件内容有任何想法吗?
预先感谢您的回复。