#!/usr/bin/env perl use warnings; use strict; use Data::Dumper; my $menufile = './in.xml'; use XML::Simple qw(:strict); my $xml = XMLin($menufile,forcearray=>['item','command','exec','menu'],keyattr=>[],suppressempty=>undef); print Dumper($xml); #### $VAR1 = { 'menu' => [ { 'item' => [ { 'label' => ' EDM ', 'type' => 'command', 'exec' => [ { 'run' => ' edmBeta ' } ] }, { 'name' => ' SoftwareMenu ', 'type' => 'submenu' } ], 'name' => 'MainMenu', 'label' => ' OPS Menu ' }, { 'item' => [ { 'name' => ' IOCMenu ', 'type' => 'submenu' } ], 'name' => 'SoftwareMenu', 'label' => ' Software Tools ' } ] };