use strict; use warnings; use Data::Dumper qw( Dumper ); use XML::Simple qw( ); local $XML::Simple::PREFERRED_PARSER = 'XML::Parser'; my $xs = XML::Simple->new( ForceArray => [qw( elem subelem )], ForceContent => 1, #ContentKey => '_text', KeyAttr => {}, KeepRoot => 1, ); my $tree = $xs->XMLin(<<'__EOI__'); mstring1 ... ... mstring2 ... ... __EOI__ { local $Data::Dumper::Indent = 1; print(Dumper($tree)); } print $xs->XMLout($tree);