use feature qw(say);
use Data::Dumper;
my $data =<<'XML-type';
- someValuesomeValuesomeValue
someValue
- someValuesomeValue
someValuesomeValue
-
someValuesomeValuesomeValuesomeValue
XML-type
my @processed;
local $/ = '';
open STRH , '<', \($data);
my @items = ;
close STRH;
@processed = map {
my $item =$_;
$item =~ s/<.?item>//g;
push @processed,
{$item =~ m { <([^>]+)>([^<]+)< }gx};
} @items;
print Dumper \@processed;
####
$VAR1 = [
{
'key2' => 'someValue',
'key4' => 'someValue',
'key1' => 'someValue',
'key3' => 'someValue'
},
{
'key2' => 'someValue
',
'key4' => 'someValue',
'key1' => 'someValue',
'key3' => 'someValue'
},
{
'key2' => 'someValue',
'key4' => 'someValue',
'key1' => 'someValue',
'key3' => 'someValue'
},
{}
];