in reply to Parsing with XML::Simple - repeated elements will not parse correctly

There can be more than one datafield and subfield, so you have to identify which one.
$data->{datafield}[$i]{subfield}[$j]{content}
my $datafields = $data->{datafield}; foreach my $datafield (@$datafields) { my $subfields = $datafield->{subfield}; foreach my $subfield (@$subfields) { my ($content, $code) = @{$subfield}{qw( content code )}; ... } }