#!/usr/bin/perl use HTML::Tidy; use XML::XPath; use XML::XPath::XMLParser; use Data::Dumper; use strict; use warnings; my $body; while(my $line = ) { $body .= $line; } my $tidy = HTML::Tidy->new({output_xml=>1,numeric_entities=>1}); my $clean = $tidy->clean($body); my $parser = XML::XPath->new(xml => $clean); my $set = '//p/a'; my $nodes = $parser->find($set); foreach my $node ($nodes->get_nodelist) { print "\n"; print "FOUND\n\n", XML::XPath::XMLParser::as_string($node),"\n"; print Dumper($node); # print ${$node}->[5],"\n"; # element name } exit(0); _DATA__ test

test heading

paragraph one one example.

paragraph two another example.