Net::SFTP::Foreign requires SFTP to be working (or allowed) on the remote server.
If all you are allowed to do is to scp there, then you can try Net::SSH2, Net::SSH::Perl or Net::SCP, though, as you are using keys for authentication, probably just calling the scp (or pscp) program from Perl would be the simplest solution.
Also, take into account that scp is very limiting and will allow you to transfer files from one side to the other only. For instance, you will not be able to move files around on the server (update: oh, well, unless they allow you to run any remote command and not just scp in client mode).