I know this is beyond the normal discussions round here, but it's an application of Perl that I'm sure I'm not the only one involved in. Plus, there aren't that many other communities around like this one that would help.
So a failover won't be transparent to a user if it occurs while they are waiting for a response from a CGI script that they've just submitted a form to? Ie. They get a page timeout and must hit refresh to resubmit the request?