通过Perl CGI脚本上载文件而不存储文件

通过Perl CGI脚本上载文件而不存储文件,perl,file,upload,cgi,Perl,File,Upload,Cgi,我用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 UPLOADFI

我用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;
我想这已经到了底线
push@array,$\
这可能是因为无法识别文件头

您对如何在不保存文件的情况下存储文件内容有何想法


提前感谢您的回复。

看起来您正试图在正确的HTTP头之前打印文件(
\xff\xd8\xff\xe11\xdcExif
):

print $query->header;
我把你的剧本整理了一下,效果很好:

#!/usr/bin/perl

use strict;
use warnings;

use CGI;
use CGI::Carp 'fatalsToBrowser';

my $query = CGI->new;

my $upload_filehandle = $query->upload("config")
    or die "Configuration file could not be loaded";


my @array = <$upload_filehandle>;

print $query->header;

use Data::Dumper;
print Dumper(\@array);
#/usr/bin/perl
严格使用;
使用警告;
使用CGI;
使用CGI::Carp'fatalsToBrowser';
my$query=CGI->new;
my$upload\u filehandle=$query->upload(“配置”)
或“无法加载配置文件”;
my@array=;
打印$query->header;
使用数据::转储程序;
打印转储程序(\@数组);

看起来您正试图在正确的HTTP头之前打印文件(
\xff\xd8\xff\xe11\xdcExif
):

print $query->header;
我把你的剧本整理了一下,效果很好:

#!/usr/bin/perl

use strict;
use warnings;

use CGI;
use CGI::Carp 'fatalsToBrowser';

my $query = CGI->new;

my $upload_filehandle = $query->upload("config")
    or die "Configuration file could not be loaded";


my @array = <$upload_filehandle>;

print $query->header;

use Data::Dumper;
print Dumper(\@array);
#/usr/bin/perl
严格使用;
使用警告;
使用CGI;
使用CGI::Carp'fatalsToBrowser';
my$query=CGI->new;
my$upload\u filehandle=$query->upload(“配置”)
或“无法加载配置文件”;
my@array=;
打印$query->header;
使用数据::转储程序;
打印转储程序(\@数组);