use XML::Twig; my $xmlfile = 'check.xml'; my $twig=XML::Twig->new( twig_handlers=>{ keep_atts_order=>1, color=>\&content_handler}, pretty_print => 'indented', ); $twig->parse(\*DATA); sub content_handler { my ($twig, $color)=@_; $color->del_atts; $color->set_atts({bid=>$bidvar, aid=>$aidvar, att=>'', pgnbr=>$pgnbrvar, pgsect=>$pgsectvar, spp=>'', spf=>$spfval, top=>$topvar, left=>$leftvar, height=>$heightvar, bh=>$bhvar, width=>$widthvar, bw=>$bwvar, colums=>$columsvar, gutter=>$guttervar, ts=>$tsvar, ls=>$lsvar, bs=>$bsvar, rs=>$rsvar, t=>$tvar, l=>$lvar, b=>$bvar, r=>$rvar, tit=>$titvar, til=>$tilvar, tib=>$tibvar, tir=>$tirvar, color=>$colorvar, cn=>$cnvar, framewidth=>$framewidthvar, framecolor=>$framecolorvar, fcn=>$fcnvar, grp=>$grpvar}); } $twig->print; __DATA__
h3
####
h3