Trying to parse html file

I'm trying to run a book example and I get the following error.

E:\>perl parser.pl
Can't locate HTML/Tagset.pm in @INC (@INC contains: E:/ind/perl/lib E:/ind/perl/
site/lib .) at E:/ind/perl/site/lib/HTML/LinkExtor.pm line 31.
BEGIN failed--compilation aborted at E:/ind/perl/site/lib/HTML/LinkExtor.pm line
 31.
Compilation failed in require at parser.pl line 5.
BEGIN failed--compilation aborted at parser.pl line 5.

sourcecode

#!e:/ind/perl/bin/perl -w

use strict;
use LWP::UserAgent;
use HTML::LinkExtor;
use URI::URL;

my $url = URI::URL->new('http://www.perl.com/');
my $base_url;

# Create new UserAgent object (browser)
my $ua = LWP::UserAgent->new();

# Give our agent a name
$ua->agent("Mozilla/4.7");

# Create HTTP GET request
my $request = HTTP::Request->new(GET => $url);

# Execute HTTP request
my $response = $ua->request($request);

# Check success
if ($response->is_success && $response->content_type eq 'text/html') {
    # Request was successful and is html
    $base_url = $response->base();
    print "Base URL: $base_url\n";
    my $link_extor = HTML::LinkExtor->new(\&extract_links);
    $link_extor->parse($response->content);
} else {
    # Request failed - print response code and message
    print "Error getting document: ", $response->status_line, "\n";
}

sub extract_links {
    my ($tag, %attr) = @_;

    if ($tag eq 'a' or $tag eq 'img') {
        foreach my $key (keys %attr) {
            if ($key eq 'href' or $key eq 'src') {
                my $link_url = URI->new($attr{$key});
                my $full_url = $link_url->abs($base_url);
                print "LINK: $full_url\n";
            }
        }
    }
}
mistadontplayAsked:
Who is Participating?
 
fantasy1001Commented:
Not sure of the problem. Please check whether module tagset.pm is in the directory E:/ind/perl/site/lib/HTML/. If not, please download from
http://search.cpan.org/~sburke/HTML-Tagset-3.03/Tagset.pm

After copy, if the problem still arise, add a line use HTML::Tagset; to the top of your source code

Thanks & Cheers
0
 
davorgCommented:
HTML::LinkExtor uses HTML::Tagset. It seems that you've installed HTML::LinkExtor, but not HTML::Tagset.
0
 
jmcgOwnerCommented:
Nothing has happened on this question in over 2 months. It's time for cleanup!

My recommendation, which I will post in the Cleanup topic area, is to
split points between fantasy1001 and davorg.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

jmcg
EE Cleanup Volunteer
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.