in reply to A Spider Tool

HTML::LinkExtor does a good amount of the work you want, indeed. To fetch pages you should use LWP::RobotUA. Checking URLs should be easy using URI. For the title and meta tags, HTML::HeadParser is the tool of choice. Finally, your loop will end up looking more like this:
while @url { $page = get ( $url = shift @url ) if(not defined $page) { push @error, $url next } push @url, match_base_url ( extract_links ( $page ) ) push @info, [ extract_header_tags $page ] } print_information for @info print_error_url for @error
Update: LWP::Simple

Makeshifts last the longest.