The latest LWP::UserAgent allows the behavior of redirect_ok to be
overridden using the requests_redirectable
method.

$ua->requests_redirectable( ); # to read
$ua->requests_redirectable( \@requests ); # to set
This reads or sets the object's list of request names that
$ua->redirect_ok(...) will allow redirection for. By
default, this is ['GET', 'HEAD'], as per RFC 2068. To
change to include 'POST', consider:
push @{ $ua->requests_redirectable }, 'POST';
$ua->redirect_ok($prospective_request)
This method is called by request() before it tries to follow a
redirection to the request in $prospective_request. This should
return a true value if this redirection is permissible.
The default implementation will return FALSE unless the method
is in the object's requests_redirectable list, FALSE if the
proposed redirection is to a "file://..." URL, and TRUE
otherwise.
Subclasses might want to override this.
(This method's behavior in previous versions was simply to return
TRUE for anything except POST requests).