#! /usr/bin/perl use strict; use feature qw{ say }; use warnings; use XML::LibXML; my $xml = '
NA
'; print "Please specify node c content: "; chomp( my $new_text = ); my $dom = 'XML::LibXML'->load_xml(string => $xml); for my $node($dom->findnodes('(/header/id/b | /header/id/c)')) { $node->removeChildNodes; $node->appendText($new_text); } print $dom; #### open file.xml ; for (/header/id/b|/header/id/c) set text() "YOUR TEXT HERE" ; save :b ;