in reply to ftp put without a local file

You need to open a file on that filehandle...
open(SEASAME,"file_to_send" or die $!; $ftp->put( <SESAME> ,"ftptest"); close SEASAME; #or more simply $ftp->put( "file_to_send", "name_to_put_as");
What you are doing doesn't really do much. To do what you are trying you would probably have to create a tied filehandle. For writing text to a remote file with Net::FTP look at the stor method of Net::FTP which lets you use write to put up data from a buffer.

                - Ant
                - Some of my best work - Fish Dinner