#!/usr/bin/perl -w use XML::DOM; my $parser = new XML::DOM::Parser; my $doc = $parser->parsefile('/home/openkey/public_html/shared/state.xml'); dumpnodes($doc,0); $doc->printToFile("newfile.xml"); sub dumpnodes { my ($node, $level) = @_; foreach my $subnode ($node->getChildNodes) { if($subnode->getNodeType eq ELEMENT_NODE) { print (' ' x $level, $subnode->getNodeName, "\n"); dumpnodes($subnode, $level+4); } } }