#!/usr/bin/perl
use CGI;
use CGI::Carp qw(fatalsToBrowser); #errors will show in the browser
my $upload_dir = "C:\\TEMP\\";
my $newStyle;
my $co=new CGI;
my $filename = $co->param("file");# || error( $co, "No file received." );
$filename =~ s/.*[\/\\](.*)/$1/;
$filename =~ s/[^\w.-]/_/g;
my $filehandle = $co->upload("file");
open UPLOADFILE, ">$upload_dir/$filename" or die "Cannot create file $upload_dir/$filename: $!\n";
binmode $filehandle;
binmode UPLOADFILE;
while (defined($_ = <$filehandle>)){
print UPLOADFILE or warn "Possible disk full error: $!\n";
}
close UPLOADFILE or warn "Possible truncation on $upload_dir/$filename: $!\n";
print $co->header,
$co->start_html(
-title=>'fileupload.cgi',
-BGCOLOR=>'#FFFFFF',
-style=>{-src=>'http://localhost/html/stylesheet.css',
-code=>$newStyle}
),
$co->p,
"\$filename - $filename moved to the $upload_dir directory!",
$co->p,
$co->end_html;
exit 0;