If you are not limited in your ability to change the environment on either system to some degree, may I suggest using
xinetd on the destination? You can define a port number in /etc/services and create a config entry for the daemon. Write a perl program to be invoked by the daemon for this service. This program will be started by xinetd with the incoming connection as stdin. It is pretty easy to pass across path/file/size, followed by the data. The source system perl script simply needs to connect to that system/port, provide the path/file/size, and then send the data. It is not secure, but if everything is within your firewalls, this might not be a problem. I use this approach all the time