I wonder what's the best approach if both scripts are not on the same machine and the passing data is too large to be sent via GET. My current approach is to redirect to an intermediate cgi script on the source machine, which still has access to the data. The intermediate script builds a post form with the data in it and uses an javascript onLoad handler to automatically send the form to the remote script. For browsers with disabled javascript there is still a submit button. It's ugly, but it seems to work...
Comment on Re: How do I pass a data structure with CGI redirect
Instead of using Javascript you can use LWP to place the data on the remote CGI with a unique id, and then redirect the client to the remote script and pass the unique id to it.
Instead of LWP you could also use SOAP, XML::RPC etc.
This way it will work for all browsers.