use strict; use warnings; use XML::LibXML; my $parser = XML::LibXML->new(); $parser->keep_blanks(1); $parser->recover_silently(1); # There are other parse methods: string, fh. my $dom = $parser->parse_html_file(shift || die "give a file\n"); $_->setAttribute("href", "#") for $dom->findnodes('//a[@href]'); print $dom->serialize(1);