SuppressEmpty is about empty elements -- no content, no attributes, like <set></set>. XML::Simple is good when you want quickly turn an XML file into a data structure and you are accept that it is up to XML::Simple what structure it will be, except maybe some minor tweaks. If you have some specific requirements about the data structure, XML::Simple probably not what you want. Have a look on Stepping up from XML::Simple to XML::LibXML.