print Data::Dumper($data) #### ///////////////////////////////////////////////////////////////// bless( { 'namespace' => { 'jmm' => { 'types' => {}, 'handles' => { 'shader' => { 'ui' => { 'synthetic' => '', 'desc' => 'shader name', 'order' => 0, 'name' => 'shader' }, 'order' => 0, 'type' => 'string', 'default' => undef, 'datatype' => 'string', 'semantic' => '' } } } }, 'name' => 'jmm', 'path' => 'jmm_mtl' }, 'material' ); ///////////////////////////////////////////////////////////// XML::Simple->new(XMLDecl=>1, NoSort=>1, KeepRoot=>1, NoAttr=>1, RootName=>ref($self) ); #### /////////////////////////////////////////////////////////////// 0 shader name 0 shader shader string string jmm jmm jmm_mtl /////////////////////////////////////////////////////////////////// #### /////////////////////////////////////////////////////////////////// my $xml = XML::Simple->new(XMLDecl=>1, NoSort=>1, KeepRoot=>1, NoAttr=>1, RootName=>"mtl" ); /////////////////////////////////////////////////////////////////// #### /////////////////////////////////////////////////////////////////// bless( { 'namespace' => { 'handles' => { 'ui' => { 'order' => '0', 'desc' => 'shader name', 'name' => 'shader' }, 'order' => '0', 'name' => 'shader', 'type' => 'string', 'datatype' => 'string' }, 'name' => 'jmm' }, 'name' => 'jmm', 'path' => 'jmm_mtl' }, 'material' ); ///////////////////////////////////////////////////////////////////