sub UPLOAD { my $filename = $cgi->param('toping'); if ( !$filename ) { print $cgi->header ( ); print 'There was a problem uploading your file (try a smaller file).'; exit; } my ( $name, $path, $extension ) = fileparse ( $filename, '..*' ); $filename = $name . $extension; $filename =~ tr/ /_/; $filename =~ s/[^$safe_filename_characters]//g; if ( $filename =~ /^([$safe_filename_characters]+)$/ ) { $filename = $1; } else { print $cgi->header(); print 'There was a problem with the filename (please rename).'; exit; } my $wfile = $cgi->upload('toping'); open(my $DAT,">", "/home/deruytja/webserver/rifucgi/temp_ul/toping.$date") or die 'Error processing file INPUT: ',$!; binmode $DAT; while (read $wfile, $data, 1024) { print $DAT $data } close $DAT; }