# Completely untested :( use Net::FTP; use File::Temp qw(tempfile); my ($fh, $filename) = tempfile( DIR => '/' ); print $fh ; close $fh; ... set up your $ftp connection ... $ftp->put($filename); $ftp->quit; unlink $filename;