in reply to CGI/FTP Put question

FTP is a @#^$@%.

Where is the script running relative to the 'webserver' and ftp.xyz.com?

Is directory-a/filename-b the name on your webserver or on ftp.xyz.com?

The message you get when you specify the full path probably indicates that the connection failed in there somewhere (and Net::FTP should do a better job of reporting that..) So either your full path somehow broke Net::FTP or you added an extra bug somewhere else while you were adding the full path.