добавь:
my $fh = $query->upload(\'userpic\');#получаем дескриптор
...
и замени:
binmode(UPLOADED);
binmode($fh);
while($bytesread = read(
$fh, $buffer, 1024)) {
..
}
а эта штука, которую ты использовал:
my $image_file = $query->param("userpic");
это лишь имя файла, т.е. и используй ее по назначению
..
D.O.:
open UPLOADED, ">>temp\\\\$new_file_name";
а зачем ты дописываешь \'>>\', а не пишешь новый файл? Понятно, что если такого нет, то открывается новый, но ведь есть вероятность, что такое имя будет.