$rawfile = $cgi->param("userfile"); if ( $rawimage =~ /([\w\s\W]+)\.(\w+)/ ) { $ext = $2; } $filename = time() .".$ext"; open (OUTFILE,">./upload/$filename") or die "Could not upload file $filename: $!"; while ($bytesread=read($rawimage,$buffer,$ENV{'CONTENT_LENGTH'})) { print OUTFILE $buffer or die "Could not upload file $filename: $!"; } close (OUTFILE);