or download this
$sftp = Expect->spawn("sftp $toyName\@$targetServer") || die("Coul
+dn't spawn sftp, $!");
$sftp->expect(5, "Password: ") || die("Never got password prompt
+on $targetServer, ".$sftp->exp_error()."\n");
...
$sftp->expect(5, "sftp\> ") || die("Never got sftp prompt on $targ
+etServer, ".$sftp->exp_error()."\n");
print ($sftp "put $backupFileName\r");
$sftp->expect(120, "sftp> ") || die("Never got password prompt on
+$targetServer after upload, ".$stfp->exp_error()."\n");