And for yet another way: If you have Net::SSH::Perl installed, you can also use a remote command like cat
(on a *nix system) to move files back and forth, since
Net::SSH::Perl's
cmd method lets you both capture standard output from
the remote command and supply a buffer to use
as standard input fed to the remote command.
# $data contains data from a local file to put in the
# remote file named by $to
($output, $error, $status) = $ssh->cmd("cat > $to", $data);
# On return, $output contains data from the remote file
# identified by $from (check status, etc. of course!)
($output, $error, $status) = $ssh->cmd("cat $from");