А как вы получаете имя файла при аплоаде модулем CGI.pm?
В документации ничего не сказано. Я получаю содержимое filefeld и потом разбиваю его в массив по шаблону /\\/|\\\\/, а потом использую последний элемент массива, как имя файла. Но это небезопасно и я думаю, в CGI.pm есть средство... Кстати, у моего хостера CGI.pm старая, функция upload() не работает. :-( Менять не хотят, они на клиентов давно забили. Даже техсаппорт не отвечает.