Looking at the docs for LWP::UserAgent, we can see:
$ua->redirect_ok( $prospective_request, $response )
This method is called by request() before it tries to follow a redirection to the request in $response. This should return a TRUE value if this redirection is permissible. The $prospective_request will be the request to be sent if this method returns TRUE.
So basically, you want to create a redirect_ok method that always returns a true value. A clean way of doing that is to create a subclass of WWW::Mechanize that overrides WWW::Mechanize's redirect_ok method.
package WWW::Mechanize::AlwaysRedirect;
# this class is a subclass of WWW::Mechanize
use base 'WWW::Mechanize';
sub redirect_ok {
1; # always return true.
}
package main;
my $agent = WWW::Mechanize::AlwaysRedirect->new();
# proceed as per usual with this $agent instead of the one
# in your original code
You seem to be slightly confused by object-oriented techniques. You should probably take a look at at perltoot and perlmod. There is also the very
good "Object Oriented Perl" book by Damian Conway.
|