#!/usr/bin/perl use warnings; use strict; use XML::LibXML; my $html = 'XML::LibXML'->load_html(location => 'file.html', recover => 1); my $nav2 = $html->find('(//nav)[2]')->[0]; $nav2->parentNode->removeChild($nav2); print $html->toString; # c="d" is gone. #### open :r :F html file.html ; rm (//nav)[2] ; ls / ;