$ cat test.xml $ perl -MXML::Simple -MData::Dumper -e '$x=XMLin("test.xml"); print Dumper($x)' $VAR1 = { 'file' => { 'file2' => { 'field' => { 'field1' => { 'length' => '22', 'start' => '52' }, 'field2' => { 'length' => '22', 'start' => '82' }, 'field3' => { 'length' => '22', 'start' => '120' } } }, 'file1' => { 'field' => { 'field1' => { 'length' => '20', 'start' => '50' }, 'field2' => { 'length' => '20', 'start' => '80' }, 'field3' => { 'length' => '20', 'start' => '100' } } }, 'file3' => { 'field' => { 'field1' => { 'length' => '23', 'start' => '53' }, 'field2' => { 'length' => '23', 'start' => '83' }, 'field3' => { 'length' => '23', 'start' => '130' } } } } };