Code:
#!/usr/bin/perl
use strict;
use URI;
use URI::http;
use File::Basename;
use DBI;
use LWP::Simple;
require LWP::UserAgent;
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->env_proxy;
$ua->max_redirect(0);


package Crawler;
sub new {
    my $class = shift;
    my $self = {
        _url => shift,
        _max_link => 0,
        _local => 1,
        _url_list => 
    };
    bless $self, $class;
    return $self;

}
sub trim{
    my( $self, $string ) = @_;
    $string =~ s/^\s+//;
    $string =~ s/\s+$//;
    return $string;
}
sub process_image {
    my ($self, $process_image) = @_;
    $self->{_process_image} = $process_image;
}
sub local {
    my ($self, $local) = @_;
    $self->{_local} = $local;
}
sub max_link {
    my ($self, $max_link) = @_;
    $self->{_max_link} = $max_link;
}
sub x_more {
    my ($self, $x_more) = @_;
    $self->{_x_more} = $x_more;
}
sub resolve_href {
    my ($base, $href) = @_;
    my $uri = URI->new($href);
    return $uri->rel($base);    
}
sub write {
    my ( $self, $ref, $data ) = @_;
    open FILE, '>c:/perlscripts/' . $ref . '_' . $self->{_process_image} . '.txt';
    foreach( $data ) {
        print FILE $self->trim($_) . "\n";
    }
    close( FILE );
}
sub scrape {
    my @m_error_array;
    my @m_href_array;
    my @href_array;
    my ( $self, $DBhost, $DBuser, $DBpass, $DBname ) = @_;
    my ($dbh, $query, $result, $array);
    my $DNS = "dbi:mysql:$DBname:$DBhost:3306";
    $dbh = DBI->connect($DNS, $DBuser, $DBpass ) or die $DBI::errstr;
    if( defined( $self->{_process_image} ) && ( -e 'c:/perlscripts/href_w_' . $self->{_process_image} . ".txt" ) ) {
        open  ERROR_W, "<c:/perlscripts/error_w_" . $self->{_process_image} . ".txt";
        open  M_HREF_W, "<c:/perlscripts/m_href_w_" . $self->{_process_image} . ".txt";
        open  HREF_W, "<c:/perlscripts/href_w_" . $self->{_process_image} . ".txt";
        @m_error_array = <ERROR_W>;
        @m_href_array = <M_HREF_W>;
        @href_array = <HREF_W>;
        close ( ERROR_W );
        close ( M_HREF_W );
        close ( HREF_W );
    }else{
        @href_array = ( $self->{_url} );
    }
    my $z = 0;
    while( @href_array ){
        if( defined( $self->{_x_more} ) && $z == $self->{_x_more} ) {
            last;
        }
        my $href = shift( @href_array );
        if( defined( $self->{_process_image} ) && scalar @href_array ne 0 ) {
            $self->write( 'm_href_w', @m_href_array );
            $self->write( 'href_w', @href_array );
            $self->write( 'error_w', @m_error_array );
        }
        $self->{_link_count} = scalar @m_href_array;
        my $info = URI::http->new($href);
        my $host = $info->host;
        $host =~ s/^www\.//;
        $self->{_current_page} = $href;
        my $redirect_limit = 10;
        my $y = 0;
        my( $response, $responseCode );
        while( 1 && $y le $redirect_limit ) {
            $response = $ua->get($href);
            $responseCode = $response->code;
            if( $responseCode == 200 || $responseCode == 301 || $responseCode == 302 ) {
                if( $responseCode == 301 || $responseCode == 302 ) {
                    $href = $response->header('Location');
                }else{
                    last;
                }
            }else{
                last;
            }
            $y++;
        }
        if( $y ne $redirect_limit && $responseCode == 200 ) {
            if( ! defined( $self->{_url_list} ) ) {
                my @url_list = ( $href );
            }else{
                my @url_list = $self->{_url_list};
                push( @url_list, $href );
                $self->{_url_list} = @url_list;
            }
            my $content = LWP::Simple->get($href);
            die "get failed: " . $href if (!defined $content);
                   
            #$result = $dbh->prepare("INSERT INTO `". $host ."` (URL) VALUES ('$href')");
            #if( ! $result->execute() ){
            #    $result = $dbh->prepare("CREATE TABLE `" . $host . "` ( `ID` INT( 255 ) NOT NULL AUTO_INCREMENT , `URL` VARCHAR( 255 ) NOT NULL , PRIMARY KEY ( `ID` )) ENGINE = MYISAM ;");
            #    $result->execute();
            #}
            print "good";
        }else{
            push( @m_error_array, $href );
        }
    }
}
1;
The snippet in question is here:
(near the bottom)

Code:
my $content = LWP::Simple->get($href);
die "get failed: " . $href if (!defined $content);
I just keeps throwing the error.

Any ideas would be muchly appreciated!