use strict; use XML::Simple; my $xs = XML::Simple->new( forcearray => 1, keyattr => {}, rootname => 'data' ); my $data = $xs->XMLin('./data.xml'); foreach my $field (@{$data->{fields}->[0]->{field}}) { $field->{number}->[0] += 10; } print $xs->XMLout($data); #### use strict; use XML::Simple; my $data = XMLin( './data.xml', keyattr => {field => 'name'}, forcearray => [ qw(field number required) ] ); $data->{fields}->{field}->{foo}->{number}->[0] += 10; $data->{fields}->{field}->{bar}->{number}->[0] += 10; print XMLout($data, keyattr => {field => 'name'}, rootname => 'data');