use XML::Twig; use strict; my $xml = do {local $/; }; my $twig = XML::Twig->new( keep_spaces => 1, ); $twig->parse($xml); foreach my $node ($twig->findnodes(q{//cidr-map-to[@name='AKA Edge']/blocks})) { $node->set_text(join ' ', reverse split ' ', $node->text()); } $twig->print(); __DATA__ 127.0.241.174 127.0.0.181 127.0.12.1 10.0.0.1 198.168.1.1