Я создал сценарий CGI в Perl, который загружает файл на сервер. Скрипт работает отлично:загрузить файл через скрипт 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, $_;
и может быть вызвано тем, что заголовок файла не распознается.
Есть ли у вас какие-либо идеи о том, как сохранить содержимое файла без сохранения файла?
Заранее благодарю вас за ваш ответ.
Большое спасибо, это сработало. – Mike