use CGI; use CGI::Carp qw ( fatalsToBrowser ); use File::Basename; my $upload_dir = "upload/"; my $query = new CGI; my $filename = $query->param("file"); my $upload_filehandle = $query->upload("file"); $newname = "edddd"; my ($ext) = $filename =~ /([^.]+)$/; my $newfile = "$newname.$ext"; open ( UPLOADFILE, ">$upload_dir/$newfile" ) or die "$!"; binmode UPLOADFILE; while ( <$upload_filehandle> ) { print UPLOADFILE; } close UPLOADFILE;