All pastes #921359 Raw Edit

upload.cgi

public text v1 · immutable
#921359 ·published 2008-02-27 23:38 UTC
rendered paste body

#!/opt/local/bin/perl
use strict;
use diagnostics;
use warnings;
use CGI;
use CGI::Carp;
use YAML;

my @data;
eval {
    @data = Load('data.dat');
}; 
@data = [] if $@;
my $upload_dir = ".";
my $cgi = new CGI;
my %data;
$data{'filename'}= $cgi->param('filename');
$data{'image'} = $cgi->param('img_filename');
$data{'source'} = $cgi->param('source');
$data{'url'} = $cgi->param('url');
$data{'date'} = localtime;
$data{'author'} = $cgi->param('author');
$data{'description'} = $cgi->param('descr');
carp "$_: $data{$_}" foreach (each %data);
push @data, %data;
my $fh = $cgi->upload('filename');
open (F, '>'.$data{'filename'});
while (<$fh>) {
    print F;
}
close F;
my $img_fh = $cgi->upload('img_filename');
open F, '>'.$data{'image'};
while (<$img_fh>) {
    print F;
}
open O,'>data.dat';
print O Dump(@data);
print $cgi->header,'<html><head><title>Thanks!</title></head><body><p>Thanks for uploading</p><hr/><a href="index.html">Go back</a>.</body></html>';