I cant seem to get this peice of code to work:
$self->{_current_page} = $href; my $response = $ua->get($href); my $responseCode = $response->
You should examine the response code to see what's happening (you're already checking for 404s). I get a 302 - a redirect.
For example:
die "get failed ($responseCode): " . $href if (!defined $content);
Resulting message:
get failed (302): http://www.google.com at goog.pl line 20.