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

AlexTape has asked for the wisdom of the Perl Monks concerning the following question:

dear monks,

I got a XML looking like this:
<opt> <parmsets name="EXAMPLE2"> <local name="loc1" value="none" /> <local name="loc2" value="none" /> <local name="loc3" value="none" /> <local name="loc4" value="none" /> <local name="loc5" value="none" /> <local name="loc6" value="none" /> <regional name="region1" value="none" /> <regional name="region2" value="none" /> <regional name="region3" value="none" /> <regional name="region4" value="none" /> </parmsets> <parmsets name="EXAMPLE1"> <local name="loc1" value="none" /> <local name="loc2" value="none" /> <local name="loc3" value="none" /> <local name="loc4" value="none" /> <local name="loc5" value="none" /> <local name="loc6" value="none" /> <regional name="region1" value="none" /> <regional name="region2" value="none" /> <regional name="region3" value="none" /> <regional name="region4" value="none" /> </parmsets> </opt>
now if i read it with xmlin i get
$VAR1 = { 'parmsets' => { 'EXAMPLE2' => { 'regional' => { 'region1' => { 'valu +e' => 'none' }, [..] }, 'local' => { 'loc2' => { 'value' => +'none' [...] } } }, 'EXAMPLE1' => { 'regional' => { 'region1' => {[... +]
keys of parmsets are "example1" and "example2".
but now: if i delete "EXAMPLE1" i get this:
$VAR1 = { 'parmsets' => { 'regional' => { 'region1' => { 'value' => 'none' }, 'region4' => { 'value' => 'none' }, 'region2' => { 'value' => 'none' }, 'region3' => { 'value' => 'none' } }, 'name' => 'EXAMPLE2', 'local' => { 'loc2' => { 'value' => 'none' }, 'loc6' => { 'value' => 'none' }, 'loc5' => { 'value' => 'none' }, 'loc4' => { 'value' => 'none' }, 'loc1' => { 'value' => 'none' }, 'loc3' => { 'value' => 'none' } } } };
the structure changed! now the keys of parmsets are "regional", "local" and "name".

how can i fix that **** ;-) ?


$perlig =~ s/pec/cep/g if 'errors expected';