use CGI qw(:all); use Net::FTP; $file2 = upload('T3') or stufferror(); # Upload() returns a filehandle. stufferror() isn't executed at all. # some more stuff goes here (FTP connection established) $ftp->put_unique($file2,'stuff.txt') or uploaderror(); # this error is executed. It says 'Bad File descriptor'. # rest of stuff