http://www.perlmonks.org?node_id=928511


in reply to How can I replace a line (tag) in an XML file?

is the view of the xml fix or is it only your thinkin of storing the data on this way?
use strict; use XML::Simple; $filename = "yours.xml"; xml_edit($filename); # return done 1 || error 0 sub xml_edit($){ my$bool=0; %DB=load($_[0]); if(exists$DB{student}{id}{2}) { $DB{student}{gpa}='C'; $bool++; } save($_[0],\%DB); return$bool; } #untested
but i recommend you to build a hash of your data within perl and export it via "save($filename,\%hashref);"

for this you got truly the right structure with easy editing potential even if the data gets more bulky.
$perlig =~ s/pec/cep/g if 'errors expected';