use HTML::TokeParser; my $doc = do { local $/; }; my $p = HTML::TokeParser->new( \$doc ); while ( my $token = $p->get_tag("a") ) { my $url = $token->[1]{href}; my $text = $p->get_trimmed_text("/a"); print "Link is: $url\n"; print "Name is: $text\n\n"; }