#!/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;